最新 | 最热门 | 最高评价

+0  The Right Way to Architect iOS App with Swift

李忠 发于 2017年06月22日 08:00 | 点击: 367 | 展开摘要
关于 iOS 架构的文章感觉已经泛滥了,前一阵正好 Android 官方推了一套 App Architecture ,于是就在想,对于 iOS 来说,怎样的架构才是最适合的。带着这个问题,我开始了探索。

Why Architecture Matters?

这是第一个也是最重要的问题,为什么会出现各种 Architecture Pattern?真的那么重要么?

我们来想一下,无论是做一个 App 还是搭一套后台系统,如果是一次性的,今天用完明天就可以扔掉,那么怎么快怎么

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

+0  如何优雅的使用 Vim

Tag: 随笔 | Vim
skywind 发于 2017年06月20日 19:14 | 点击: 511 | 展开摘要
根据 Bram 前后几个关于高效使用 Vim的视频,大家每天需要花很多时间来编辑:代码、文档、邮件、日志 等等,除去这些外,还要分时间参加会议和人沟通,每个人的时间却都是不够的,优雅使用 Vim 无外乎:

检测不高效的地方:你的整个工作流里,什么地方比较浪费时间?

寻找一个更快的方式:官方文档,学习他人经验,自己编写 VimScript

使它习惯化:开始使用,并且不断完善

以上三点反复循环,能让你的 Vim 越来越顺手。所以重点是根据自己的工作流不断迭代。而不是象大部

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

+0  MacBook Pro 2013 款和 2017 款简单性能对比测试

图拉鼎 发于 2017年06月20日 14:38 | 点击: 489 | 展开摘要
今天我购买的 2017 新款 MacBook Pro 到了,换下了我用了近四年的 2013 Late 那款 MacBook Pro。

配置对比

我那台 2013 款 MacBook Pro 是一台定制机,在中配版本的基础上将内存定制到了 16G(记得当时 8G 是默认的)。如下图:

而我这次买的是 MacBook Pro 高配版,没做其他定制。主要原因是:这次内存定制居然不在可选范围里,最高就只有 16G 内存。有点小失望。

无论如何,电脑是买了,从性能上来看,两台电

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

+0  Go 1.9 的新特性

Tag: Go
鸟窝 发于 2017年06月20日 14:24 | 点击: 458 | 展开摘要
现在 Go 1.9 beta版已发布, 正式版预期在8月初发布,让我们先来看看你Go 1.9带来了那些新特性。

type alias

类型别名原本在1.8中加入的,但是临时发现有些问题,为了能全面的设计 type alias 被移到了 Go 1.9中了。

这个特性主要用在类型从一个package移动到另外一个package中的时候,导致的项目中对引入的路径不一致导致的问题, 比如原先 context是在golang.org/x/net/context包下,在Go 1.7

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

+0  在Java中调用v4l2

wendal 发于 2017年06月20日 12:00 | 点击: 377 | 展开摘要
前言

V4L2, linux下视频采集的事实标准, 通常的设备路径就是

/dev/video0
/dev/video1
....
/dev/videoX

其Java库,自然只能是JNI库 https://github.com/sarxos/v4l4j 这个库似乎已经停止维护,但v4l2的接口本身很稳定,没有更新的必要吧

添加maven/gradle依赖

不知道从哪个时间点开始,我本地的项目大多转成maven项目

<dependency>
<

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

+0  基于 TCP UDP 协议的实时流媒体的实时性分析

Tag: 网络编程 | RTP | VoIP
ideawu 发于 2017年06月19日 20:31 | 点击: 615 | 展开摘要
直播,电话通话,视频聊天都是实时流媒体的范畴。无论使用 TCP 还是 UDP,都会有延时。有个过时的观点是 UDP 更实时,但我不认为是这样。

实时流媒体的延时主要有几个因素:发送方缓冲,接收方缓冲,网络延时。缓冲包括网络缓冲,录制缓和冲播放缓冲。假设发送方缓冲是 10ms,接收方缓冲都是 50ms,网络延时是 100ms,那么就有至少 160ms 的播放延时。接收方缓冲比发送方多,是为了解决所谓的 jitter,网络延时不均匀导致的播放断续。

如果使用 UDP,如果丢包

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

+0  skynet 网络线程的一点优化

Tag: skynet
云风 发于 2017年06月19日 19:59 | 点击: 429 | 展开摘要
skynet 是一个注重并行业务处理的框架,设计它的初衷是可以充分利用多核 CPU 更好的处理那些比较消耗 CPU 的,天然可以并行的业务,比如网络游戏。网络 I/O 并不是优化重点。

基于这个设计动机,skynet 的网络层使用单线程实现。因为我认为,即使是代码量稍大一些的单线程程序,也会比代码量较小的多线程程序更容易理解,出 bug 的机会也更少。而且经典的网络服务程序,如 redis nginx 并没有因为单线程处理网络 IO 而变现得不堪,反而有不错的口碑。

所以

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

+0  SIP INVITE 会话建立过程

Tag: 网络编程 | SIP | VoIP
ideawu 发于 2017年06月19日 19:05 | 点击: 360 | 展开摘要
运行于 UDP 之上的 SIP,因为 UDP 是不可靠传输的,所以 SIP 协议本身要自己实现可靠传输。对于如何可靠传输,SIP 的 RFC 文档没有要求实现独立的传输层,而是将可靠传输隐含于交互过程本身。如果像 TCP/IP 协议那样分层,特点是清晰。而将可靠传输隐含于交互,则可控程度更高,当然也更复杂。

所以,RFC 中创造了一些概念,如 Transaction 等等,对于有经验的程序员来说,这完全没必须,反而造成困扰。对于程序员,用几句简单的过程描述就可以解决。如下。

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

+0  我当初是怎么管理技术团队的 - 旁观者

旁观者 发于 2017年06月19日 09:52 | 点击: 499 | 展开摘要
【摘要】我们认为管理技术人才是一门学问,第一,外行不可能领导内行,第二,靠挖人,靠猎头,一朝一夕之间不可能组建一支能打硬仗的技术团队,那只能攒出乌合之众。 阅读全文

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

+0  支持部分共享的树结构

Tag: 算法 | 优化与技巧
云风 发于 2017年06月18日 16:23 | 点击: 412 | 展开摘要
因为图形引擎中的对象天然适合用树 (n-ary tree) 表达,所以它在图形引擎中被广泛使用。通常,子节点会继承父节点的一些状态,比如变换矩阵,在渲染或更新的时候,可以通过先序遍历逐级相乘。

在 PC 内存充裕的条件下,我们通常不必考虑树结构储存的开销,所以大多数图形引擎通常会为每个渲染对象独立生成一个树结构,比如 Unity 中的 GameObject 就是这么一个东西。在 Ejoy2D 中,从节约内存的角度考虑,把树节点上的一部分可共享的状态信息(不变的矩阵、纹理坐标

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

+0  自建一个电话呼叫中心要多少钱?

Tag: IT技术和评论 | SIP | VoIP
ideawu 发于 2017年06月18日 00:46 | 点击: 781 | 展开摘要
我十分看不惯任何行业的潜规则行为。自建一个电话呼叫中心的报价是多少钱?没有人敢公开报价。我明说吧,自建一个电话呼叫中心,只需要3万元左右,而且还能更省钱。

这个报价是针对小型企业的,也就是广大人民群众。至于大型企业,它们自己去定制,钱不是问题。

3万元建一个电话呼叫中心,包括什么?包括硬件设备,软件。软件是硬件设备上免费赠送的,不要钱!有了这个呼叫中心,你可以有语音导航功能(也就是按0转人工客服),还有人工客服排队,电话录音。够用了,中小企业没那么多花哨的需求。

其它的

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

+0  SIP tag 和 Call-ID 的区别

Tag: 网络编程 | SIP | VoIP
ideawu 发于 2017年06月16日 19:29 | 点击: 357 | 展开摘要
SIP 的一次通话,可以通过 From, To, Call-ID 三元组来区分。但是,为什么 From 和 To 不用固定的地址,而要在地址后面加上 tag=随机数 呢?

tag 的目的是为了解决自己给自己打电话的问题(Hairpinning)。如果你自己给自己打电话,那么你应该有两个 Session,但是,如果 From 和 To 是固定的,你就无法区别这两个 Session 哪个是 caller 哪个是 callee。发送 INVITE 时,caller 会在 From

查看全文: http://www.udpwork.com/item/16305.html
|<<<45678910>>>| 一共1227页, 14714条记录