Direct3D12 的接口设计 bug

  • Post author:
  • Post category:IT
  • Post comments:0评论

昨天被 D3D12 的一个 bug 坑了一晚上,这个问题很值得一写。 最初是发现LUID ID3D12Device::GetAdapterLuid()这个函数有问题。我用 mingw64 gcc 编译后的程序,只要调用了一个 api ,d3d12device 设备对象的虚函数表就被破坏掉了。下一次对这个设备的任何 api 调用都会 crash 掉。 由于这个函数的实现在 d3d12.dll 中,是没有源码的,所以只能用 gdb 调试了一下。发现了一个问题:这个 api 的返回值是 LUID ,它…

继续阅读Direct3D12 的接口设计 bug

你需要了解的 Swift 4 新东西之 Substring

  • Post author:
  • Post category:IT
  • Post comments:0评论

Swift 4 正式版已经随着 iOS 11 和 Xcode 9 的发布而发布了。 这是一个值得受好评的版本,很重要的一点是,它改变了 Swift 被人吐槽最多的一个问题:每个版本因为不兼容的问题,都要重写。Swift 4 有着 Swift 3 语法兼容模式,这意味着你不用改一行代码,就可以在 Xcode 编译通过。这对大型 iOS 项目而已非常重要:我们可以在未来的一年从一个 Target、一个 Framework 开始的形式慢慢地迁移至 Swift 4。 由于我比较急,一下子把自己的项目(奇…

继续阅读你需要了解的 Swift 4 新东西之 Substring

关于 iOS 11 GM 及正式版可能存在几个小问题

  • Post author:
  • Post category:IT
  • Post comments:0评论

还有几个小时,iOS 11 正式版就要发布了。而在前天,我却从 iOS 11 GM 降级回了 iOS 10。这是我用 iOS 系统七年以来,第一次因为 GM 用的不愉快而回到旧系统。这篇文章,我想谈谈对 iOS 11 的一些看法。 我是在 Apple 发布会结束后的那天,把自己的 iPhone 6s 更新到 iOS 11 GM 的。更新的形式用的是备份原手机,下载 iOS 11 GM 的 ROM,干净安装 iOS 11,再从备份中恢复。理论上是最干净和毛病少的方式,然而,五六天的的体验却让我失望…

继续阅读关于 iOS 11 GM 及正式版可能存在几个小问题

一个关于 nolock 的故事

  • Post author:
  • Post category:IT
  • Post comments:0评论

加入沪江不久,我就被扔到一个将集团 SQL Sever 的数据库迁移到 MySQL 的项目里, 同时伴随进行的还有 .net 系统迁移到 Java 系统。 在这个过程中我发现了一个很有趣的现象:历史遗留的 .net 项目中, 几乎所有的 SQL 中都会使用一个关键字:nolock。 这让我很困惑,nolock的字面意思是对当前技术不使用锁技术,为什么要这样用呢? 我找了一个范例如下: SELECT [id] FROM [dbo].[foos] WITH(nolock) WHERE aField …

继续阅读一个关于 nolock 的故事

关于Facebook 的 React 专利许可证

  • Post author:
  • Post category:IT
  • Post comments:0评论

随着Apache、百度、Wordpress都在和Facebook的React.js以及其专利许可证划清界限,似乎大家又在讨论Facebook的这个BSD+PATENT的许可证问题了。这让我想起了之前在Medium读过的一篇文章——《React, Facebook, and the Revocable Patent License, Why It’s a Paper》,我觉得那篇文章写的不错,而且还是一个会编程的律师写的,所以有必要把这篇文章传播到中文社区这边来。注意,我不会全部翻译,我只是用我的…

继续阅读关于Facebook 的 React 专利许可证

小程序技术方案探讨

  • Post author:
  • Post category:IT
  • Post comments:0评论

微信小程序上线大半年,大部分技术原理也有文章介绍了,本文尝试从需求出发探讨微信小程序技术方案的来源,以及最近公测的支付宝小程序技术方案的考量。 微信小程序 微信小程序的需求是让第三方开发者可以接入,可以使用微信的提供的接口去开发应用嵌入在微信里。对于这个需求,最简单的实现方案是:让外部开发者开发纯H5应用,在微信的 H5 容器里打开,容器提供微信 native 接口,就行了。在有小程序之前,已经有很多这样的业务接入,像京东购物,钱包里的各种友商大众点评/滴滴出行等,都可以认为是一个“小程序”,内…

继续阅读小程序技术方案探讨

《ES6 标准入门(第3版)》上市了!

  • Post author:
  • Post category:IT
  • Post comments:0评论

2017年6月,TC39 委员会正式发布了《ES2017 标准》。 相比两年前,JavaScript 语法有了很大的升级,主要是引入了async 函数和decorator。这让我觉得,《ES6 标准入门》必须要出新版,否则就跟不上形势了。 电子工业出版社的张春雨编辑很支持我的想法,最快时间投入出版社的资源;孙奇俏编辑连续几周都忙于校对排版。7月初我交稿,8月底送印刷厂,9月中旬《ES6 标准入门(第3版)》就全面上市了。 淘宝 京东 亚马逊 当当 China-pub 新版本的背后是,四年不间断的…

继续阅读《ES6 标准入门(第3版)》上市了!

复古设计在左,数字化营销在右,奢侈品巨头们正大举重回市场

  • Post author:
  • Post category:IT
  • Post comments:0评论

设计学就如同哲学一样,随着人类文明的不断发展进步,这门学科不会出现高度的限制。没有作品会被誉为“最好的设计”,但一定会被称为“里程碑”。看如今的奢侈品牌们,Gucci的古希腊神话包袋、Vetements的90年代风格颓废卫衣、Balenciaga还原“爸爸球鞋”,复古设计风潮在奢侈品牌中热度不减。在设计上突破传统美学桎梏,在营销上也花样百出。在奢侈品牌们纷纷“.CN”之后,一手做着复古设计,一手玩着数…

继续阅读复古设计在左,数字化营销在右,奢侈品巨头们正大举重回市场