最新 | 最热门 | 最高评价

+0  使用 RxTest 来建立基于 RxSwift 的自动化测试

图拉鼎 发于 2017年09月22日 21:47 | 点击: 168 | 展开摘要
最近开始一个 iOS 新项目,我开始完全用 RxSwift 来构建所有逻辑了。本篇文章将讲述如何通过 RxTest 来架设起一个「响应式」的自动化测试环境。

我学习和使用 Rx 的经历

RxSwift(或 Reactive 响应式编程),我了解还算早,但是一直没有全面地采用它。一方面有项目的原因,经典项目因为忙着加 Feature,牵扯的地方比较多,所以只会谨慎局部使用,采用不多,比如奇点,只在一些和复杂网络请求有关的新特性上使用了它。另一方面,我虽然是一个追求新技术的人

查看全文: http://www.udpwork.com/item/16430.html

+0  [译]使用 bcc/BPF 分析 go 程序

Tag: bbc | trace | Go | 工具
鸟窝 发于 2017年09月22日 18:11 | 点击: 204 | 展开摘要
BCC 是基于 BPF 的 Linux IO 分析、监控、网络工具集合。BPF Compiler Collection (BCC) 是创建高效内核追踪和处理程序的工具包,包含几个有用的工具和用例。BCC 扩展了 BPF (Berkeley Packet Filters) 的用途,BPF 之前被称为 eBPF,是 Linux 3.15 新增的一个新特性。BCC 大部分的功能都要求 Linux 4.1+。

本文翻译自性能分析大牛Brendan Gregg的 2017年中旬的一篇

查看全文: http://www.udpwork.com/item/16429.html

+0  MySQL Alter Table锁表相关的....提纲?

Tag: 数据库
Felix021 发于 2017年09月22日 00:07 | 点击: 265 | 展开摘要
(瞅一眼才发现四个月没写了,确实是好久没写代码了,没啥心得,不过想想好像可以写个提纲凑个数)

我们的业务主要还是用 MySQL 存储业务数据。

MySQL 一个很麻烦的问题是,alter table 的时候往往要锁表,而业务在最初设计的时候,又没法为未来的所有改动预留合适的字段,结果就是,要么另外建一张表横向扩展,要么熬到半夜,忍受锁表带来的业务中断;不过在多次实践中还是有一些心得体会,可以简单列一下。

1. alter table 是否都会锁表?

不都会,有些情况可

查看全文: http://www.udpwork.com/item/16428.html

+0  Direct3D12 的接口设计 bug

Tag: 调试
云风 发于 2017年09月21日 12:16 | 点击: 330 | 展开摘要
昨天被 D3D12 的一个 bug 坑了一晚上,这个问题很值得一写。

最初是发现 LUID ID3D12Device::GetAdapterLuid() 这个函数有问题。我用 mingw64 gcc 编译后的程序,只要调用了一个 api ,d3d12device 设备对象的虚函数表就被破坏掉了。下一次对这个设备的任何 api 调用都会 crash 掉。

由于这个函数的实现在 d3d12.dll 中,是没有源码的,所以只能用 gdb 调试了一下。发现了一个问题:这个 api

查看全文: http://www.udpwork.com/item/16426.html

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

图拉鼎 发于 2017年09月20日 21:01 | 点击: 262 | 展开摘要
Swift 4 正式版已经随着 iOS 11 和 Xcode 9 的发布而发布了。

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

由于我比较急

查看全文: http://www.udpwork.com/item/16427.html

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

图拉鼎 发于 2017年09月19日 20:57 | 点击: 309 | 展开摘要
还有几个小时,iOS 11 正式版就要发布了。而在前天,我却从 iOS 11 GM 降级回了 iOS 10。这是我用 iOS 系统七年以来,第一次因为 GM 用的不愉快而回到旧系统。这篇文章,我想谈谈对 iOS 11 的一些看法。

我是在 Apple 发布会结束后的那天,把自己的 iPhone 6s 更新到 iOS 11 GM 的。更新的形式用的是备份原手机,下载 iOS 11 GM 的 ROM,干净安装 iOS 11,再从备份中恢复。理论上是最干净和毛病少的方式,然而,五

查看全文: http://www.udpwork.com/item/16425.html

+0  一个关于 nolock 的故事

Tag: SQL Server | MySQL
alswl 发于 2017年09月19日 16:43 | 点击: 333 | 展开摘要
加入沪江不久,我就被扔到一个将集团 SQL Sever 的数据库迁移到 MySQL 的项目里,
同时伴随进行的还有 .net 系统迁移到 Java 系统。
在这个过程中我发现了一个很有趣的现象:历史遗留的 .net 项目中,
几乎所有的 SQL 中都会使用一个关键字:nolock。
这让我很困惑,nolock 的字面意思是对当前技术不使用锁技术,为什么要这样用呢?

我找了一个范例如下:

SELECT [id]
FROM [dbo].[foos] WITH(noloc

查看全文: http://www.udpwork.com/item/16424.html

+0  关于Facebook 的 React 专利许可证

Tag: Web开发 | 业界新闻 | 杂项资源 | Facebook | React
陈皓 发于 2017年09月19日 14:08 | 点击: 326 | 展开摘要
随着Apache、百度、Wordpress都在和Facebook的React.js以及其专利许可证划清界限,似乎大家又在讨论Facebook的这个BSD+PATENT的许可证问题了。这让我想起了之前在Medium读过的一篇文章——《React, Facebook, and the Revocable Patent License, Why It’s a Paper》,我觉得那篇文章写的不错,而且还是一个会编程的律师写的,所以有必要把这篇文章传播到中文社区这边来。注

查看全文: http://www.udpwork.com/item/16423.html

+0  小程序技术方案探讨

Tag: 技术文章
bang 发于 2017年09月19日 11:48 | 点击: 322 | 展开摘要
微信小程序上线大半年,大部分技术原理也有文章介绍了,本文尝试从需求出发探讨微信小程序技术方案的来源,以及最近公测的支付宝小程序技术方案的考量。

微信小程序

微信小程序的需求是让第三方开发者可以接入,可以使用微信的提供的接口去开发应用嵌入在微信里。对于这个需求,最简单的实现方案是:让外部开发者开发纯H5应用,在微信的 H5 容器里打开,容器提供微信 native 接口,就行了。在有小程序之前,已经有很多这样的业务接入,像京东购物,钱包里的各种友商大众点评/滴滴出行等,都可以

查看全文: http://www.udpwork.com/item/16422.html

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

Tag: JavaScript
阮一峰 发于 2017年09月19日 07:06 | 点击: 291 | 展开摘要
2017年6月,TC39 委员会正式发布了《ES2017 标准》。

相比两年前,JavaScript 语法有了很大的升级,主要是引入了 async 函数和 decorator。这让我觉得,《ES6 标准入门》必须要出新版,否则就跟不上形势了。

电子工业出版社的张春雨编辑很支持我的想法,最快时间投入出版社的资源;孙奇俏编辑连续几周都忙于校对排版。7月初我交稿,8月底送印刷厂,9月中旬《ES6 标准入门(第3版)》就全面上市了。

淘宝

京东

亚马逊

当当

China

查看全文: http://www.udpwork.com/item/16421.html

+0  从 iPhone 6 来谈 iPhone X 的「刘海」(附购买建议)

图拉鼎 发于 2017年09月18日 19:58 | 点击: 308 | 展开摘要
Apple Special Event 结束已经快一周了,我的情绪也慢慢地稳定了下来:从刚开始的「失望」,到现在的肯定和充满「期望」。先从我的「失望」说起。

对 iPhone X 的「失望」

看完发布会的时候,我在社交网络上吐槽了好几天,表达对了 Apple 连连的「失望」。这个「失望」很大程度上来自我对「泄漏」的失望,关于 Apple 发布会的信息,竟然泄露的一干二净,没有一点保留,这是其一。

其二,是我对 iPhone X 的「刘海」设计的失望。尽管我知道这个「刘海

查看全文: http://www.udpwork.com/item/16420.html

+0  使用标准方式在 Ubuntu 16.04 下启用 TCP 拥塞控制之 BBR

图拉鼎 发于 2017年09月17日 11:36 | 点击: 339 | 展开摘要
我是这 Ubuntu Server 系列文章的第二篇,讲讲如何在 Ubuntu 16.04 LTS 下通过最标准的方式启用 TCP 拥塞控制之 BBR。

BBR 简介

BBR 是 Google 推出的一个「TCP 拥塞控制算法」,它是以 Linux 内核模块的形式加载,可以最大化 Linux Server 的网络吞吐量。

简单地说,开启 BBR 的 Linux Server 和不开启 BBR 的 Linux Server,在持续传输数据方面可以有非常大的不同。这个技术非

查看全文: http://www.udpwork.com/item/16419.html
|<<<1234567>>>| 一共1230页, 14756条记录