最新 | 最热门 | 最高评价

+0  [转]Golang 中使用 JSON 的小技巧

Tag: Go
鸟窝 发于 2017年06月22日 17:55 | 点击: 285 | 展开摘要
taowen是json-iterator的作者。 序列化和反序列化需要处理JSON和struct的关系,其中会用到一些技巧。 原文 Golang 中使用 JSON 的小技巧是他的经验之谈,介绍了一些struct解析成json的技巧,以及 json-iterator 库的一些便利的处理。

有的时候上游传过来的字段是string类型的,但是我们却想用变成数字来使用。 本来用一个json:",string" 就可以支持了,如果不知道golang的这些小技巧,就

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

+0  OMG,腾讯的OMG

Tag: TMT乱弹
魏武挥 发于 2017年06月22日 14:15 | 点击: 198 | 展开摘要


江湖上有个段子,是这么说的。

有一家公司叫OMG,有一家公司叫腾讯。OMG是OMG,腾讯是腾讯。

把腾讯的一个事业群(OMG全称是online media group)看成独立的一家公司,这个梗不在圈子里的人,是很难接到的。但在圈子里的人,都会发出会心一笑。

OMG和腾讯的游离,自成体系封闭运作是表象,是结果。最关键的是,OMG一直以来奉行的理念,其实与腾讯“产品主导”并不契合。

OMG奉行的是:标准传媒业的内容主导。

这两者,有何本质的区别?



我的父

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

+0  HTML 自定义元素教程

Tag: Developer
阮一峰 发于 2017年06月22日 11:50 | 点击: 178 | 展开摘要
组件是 Web 开发的方向,现在的热点是 JavaScript 组件,但是 HTML 组件未来可能更有希望。

本文就介绍 HTML 组件的基础知识:自定义元素(custom elements)。

文章结尾还有一则 React 培训消息(含 React Native),欢迎关注。

一、浏览器处理

我们一般都使用标准的 HTML 元素。

<p>Hello World</p>

上面代码中,<p>就是标准的 HTML 元素。

如果使用非标准的自定

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

+0  The Right Way to Architect iOS App with Swift

李忠 发于 2017年06月22日 08:00 | 点击: 200 | 展开摘要
关于 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 | 点击: 290 | 展开摘要
根据 Bram 前后几个关于高效使用 Vim的视频,大家每天需要花很多时间来编辑:代码、文档、邮件、日志 等等,除去这些外,还要分时间参加会议和人沟通,每个人的时间却都是不够的,优雅使用 Vim 无外乎:

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

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

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

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

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

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

图拉鼎 发于 2017年06月20日 14:38 | 点击: 275 | 展开摘要
今天我购买的 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 | 点击: 258 | 展开摘要
现在 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 | 点击: 220 | 展开摘要
前言

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 | 点击: 342 | 展开摘要
直播,电话通话,视频聊天都是实时流媒体的范畴。无论使用 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 | 点击: 262 | 展开摘要
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 | 点击: 232 | 展开摘要
运行于 UDP 之上的 SIP,因为 UDP 是不可靠传输的,所以 SIP 协议本身要自己实现可靠传输。对于如何可靠传输,SIP 的 RFC 文档没有要求实现独立的传输层,而是将可靠传输隐含于交互过程本身。如果像 TCP/IP 协议那样分层,特点是清晰。而将可靠传输隐含于交互,则可控程度更高,当然也更复杂。

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

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

+0  [译]使用os/exec执行命令

Tag: Go
鸟窝 发于 2017年06月19日 17:30 | 点击: 223 | 展开摘要
原文: Advanced command execution in Go with os/exec by Krzysztof Kowalczyk.
完整代码在作者的github上: advanced-exec

Go可以非常方便地执行外部程序,让我们开始探索之旅吧。

执行命令并获得输出结果

最简单的例子就是运行ls -lah并获得组合在一起的stdout/stderr输出。

1
2
3
4
5
6
7
8

func main() {
cmd := exec.Comm

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