天地会珠海分舵

做个有耐心的全栈程序员。当前在做的产品-好学街: http://coursebao.com。
私信 关注
天地会珠海分舵
码龄14年

好读书,不求甚解。每有会意,比欣然自酌。自命全栈程序员,做过测试、运维、翻译、运营、管理、开发、创业、出海,但却从未赚过大钱!

  • 1,133,147
    被访问量
  • 185
    原创文章
  • 2,514
    作者排名
  • 1,207
    粉丝数量
  • 目前就职 珠海比特跳动信息科技有限公司
  • 于 2007-02-13 加入CSDN
获得成就
  • 博客专家认证
  • 获得45次点赞
  • 内容获得204次评论
  • 获得193次收藏
荣誉勋章
兴趣领域
  • #前端
    #WebPack#JavaScript#Vue.js#ECMAScript 6
TA的专栏
  • 产品经理快讯
    199篇
  • 互联网•IT
    1篇
  • Nodejs
    10篇
  • Angularjs
    4篇
  • 小程序
    6篇
  • 全栈开发
    19篇
  • redis
    1篇
  • mongodb
    1篇
  • 自己动手写区块链
    7篇
  • MonkeyRunner从入门到原理
    21篇
  • 移动测试
    35篇
  • Robotium之从第一个代码示例到源码分析
    8篇
  • 《从0到1》笔记
    17篇
  • UiAutomator从入门到原理
    10篇
  • Appium从入门到原理
    10篇
  • 《MonkeyRunner源码剖析》 - 书籍
    44篇
  • 全栈开发入门教程
  • 《MonkeyRunner源码剖析》
    44篇
  • 创业论
    101篇
  • 产品论
    58篇
  • Hacker News
    59篇
  • 《从0到1》
    18篇
  • 测试自动化
    40篇
  • MonkeyRunner
    53篇
  • Monkey
    17篇
  • Appium
    28篇
  • UIAutomator
    17篇
  • Robotium
    17篇
  • Instrumentation
    9篇
  • Android知识点
    16篇
  • 产品
    5篇
  • Swift
    1篇
  • UiAutomation
    4篇
  • 流媒体
    3篇
  • 安卓CTS
    2篇
  • MonkeyRunner原理剖析示例
    11篇
  • Sencha+Phonegap
    3篇
  • SeeTest
    2篇
  • 技术
    16篇
  • 杂谈
    8篇
  • MonkeyRunner原理剖析
    1篇
  • reactjs
    11篇
  • 区块链
    7篇
  • 最近
  • 文章
  • 资源
  • 问答
  • 课程
  • 帖子
  • 收藏
  • 关注/订阅

鸿蒙要出来了,安卓开发工程师有影响吗?

根据此前余承东所说,4月份鸿蒙就要用在部分华为手机上了。不少朋友在网络上开始问,这对安卓开发工程师有什么影响呢?我们需要颤抖吗...
原创
101阅读
0评论
0点赞
发布博客于 24 天前

自己动手实现区块链

简介本教程将带领大家从零开始开发一套可行的加密货币系统。开发的基本原则就是尽量的简单易懂。我们打造的这个项目的名称叫做Naivecoin。 用的开发语言是Typescript。总共分为六个章节。大家可以选择相应的分支进去查看相应的代码。如果你只是对区块链的实现原理感兴趣,那么你只需要看第一章就足够了,代码相当的简单,只用200行的代码就能让你一窥区块链的全貌。第一章:最小可行区块链这一章...
原创
3206阅读
0评论
1点赞
发布博客于 2 年前

第六章 钱包管理界面和区块链浏览器

第三章 交易概览非对称加密和签名私钥和公钥交易概览交易outputs交易inputs交易数据结构交易id交易签名未消费的交易outputs未消费交易outputs清单更新交易有效性验证原始交易测试体验小结概览本章我们将引入加密货币中的交易机制。有了交易这个机制之后,我们的区块链将会从一个只有基本功能的区块链华丽转身成一个加密货币系统。 最终我们就能通过指定目标...
翻译
633阅读
0评论
0点赞
发布博客于 2 年前

第五章 自己动手写区块链之交易中继

概览交易池广播未决交易有效性验证记账更新交易池体验小结概览上一章节中,我们要给一笔交易记账的话,必须自己手动进行一次挖矿,才会把交易记录加到一个区块里面去。 这一章节中,我们将会引入未决交易中继的机制。有了这个机制之后,我们要进行一笔交易的时候,就不需要自己动手挖矿,而是将自己的交易发送到我们的区块链网络中去(即中继传递的概念),由其他节点在挖矿之后,将我们的交易记录加到他们...
翻译
396阅读
0评论
0点赞
发布博客于 2 年前

第四章 自己动手写区块链之钱包

第四章 钱包概览生成钱包钱包余额生成交易使用钱包测试体验小结概览钱包的目的是为了给用户创建更高层的抽象接口来对交易进行管理。我们最终的目的是让用户可以方便的:创建一个新钱包查看钱包的余额在钱包之间进行交易以上这些生效后,用户就不需要知道上一章节中描述的inputs和outpus这些交易的细节,就能对交易进行管理了。就好比在比特币网络中,你只需要把比特币打入对应地...
翻译
308阅读
0评论
0点赞
发布博客于 2 年前

第三章 自己动手写区块链之交易

第三章 交易概览非对称加密和签名私钥和公钥交易概览交易outputs交易inputs交易数据结构交易id交易签名未消费的交易outputs未消费交易outputs清单更新交易有效性验证原始交易测试体验小结概览本章我们将引入加密货币中的交易机制。有了交易这个机制之后,我们的区块链将会从一个只有基本功能的区块链华丽转身成一个加密货币系统。 最终我们就能通过指定目标...
翻译
303阅读
0评论
0点赞
发布博客于 2 年前

第二章 自己动手写区块链之工作量证明和挖矿

第二章 工作量证明和挖矿概览工作量证明拼图和难易度挖矿难易度共识时间戳校验累积难易度验证测试小结概览本章节我们将会在我们的玩具版区块链的基础上加入工作量证明(POW)的支持。在第一章节的版本中, 任何人都都可以在没有任何工作量证明的情况下添加一个区块到区块链中。 当我们引入工作量证明机制之后,一个节点必须要解开一个有相当计算量的拼图(POW Puzzle)之后,才能往区块链...
翻译
345阅读
0评论
1点赞
发布博客于 2 年前

第一章:自己动手写区块链之最小可行区块链

第一章:最小可行区块链概览区块数据结构区块哈希创世块创建区块保存区块链验证区块完整性选择最长链节点间通信操作节点架构运行测试小结概览区块链的基础概念非常简单, 说白了就是一个维护着一个持续增长的有序数据记录列表的这么一个分布式数据库。在此章节中我们将实现一个简单的玩具版的区块链。此章节结束时,我们的区块链将实现以下功能:实现区块和区块链结构定义实现可以将包含...
翻译
629阅读
0评论
0点赞
发布博客于 2 年前

[小黄书管理平台]登录服务的实现

上一章我们重新定制了登录页面,且学习了angularjs通过模型驱动表单,更好的对表单以及表单下面的控件进行控制。这一章我们会开始动手写代码,实现小黄书管理平台的登录功能。其中涉及以下几个点:支持es6 async/await特性使用Logger实现promisify化的HTTP请求服务实现登录服务调用登录服务进行登录1. 支持es6 async/await特性ES6增加了很...
原创
215阅读
0评论
0点赞
发布博客于 2 月前

[小黄书管理平台]登录页面和模型驱动表单

上一章我们对小黄书管理平台实现了中文国际化的支持,让我们的管理平台可以根据浏览器当前的语言来自动显示中文或者英文。本章我们计划开始看下ng2-admin的登录页面:如何通过Formbuilder来实现模型驱动表单的,并会对登录页面进行些修改,修改成适合我们小黄书管理平台的登录页面。1. 登录页面表单处理1.1. 模型驱动表单 vs 模板驱动表单在Angular中,我们可...
原创
109阅读
0评论
0点赞
发布博客于 2 月前

[小黄书管理平台]Angularjs 2.0应用的国际化

通过上一章,我们学习了Angularjs 2.0的基础知识以及对ng2-admin后台管理模板有了初步的了解。这一章我们的计划是让ng2-admin支持上中文语言,并学习ng2的国际化相关知识。ngx-translate是ng2的国际化模块, 我们可以通过其在github上的README来学习该模块的使用。同时,也可以在线上编辑并体验相关的用法:https://plnkr.co/edit/...
原创
92阅读
0评论
0点赞
发布博客于 2 月前

[小黄书管理平台]Angularjs2.0基础及ng2-admin概览

上一章我们实现了小黄书小程序的微信授权登录。往下我们打算实现小黄书管理平台端的登录授权操作,毕竟,小黄书后台很早就已经实现了管理员的管理和登录授权逻辑。小黄书的管理后台我们打算使用Angularjs 2.0的技术来实现,因为笔者自身也是个小白,所以会在学习过程中谈及很多基础的知识。同时,我们不会从零开始对小黄书的后台进行构建。这样太耗时了,现实中,我们往往是基于一些收费的或者是免费的模板开始的...
原创
90阅读
0评论
0点赞
发布博客于 2 月前

[小黄书小程序]微信授权登录

在上一篇文章中,我们在后台实现了会员管理以及会员注册登录的逻辑。其中登录方式包括:通过手机号码和验证码登录通过微信授权登录在小黄书小程序上,我们支持第二种登录方式。第一种方式,今后看情况再酌情进行支持。我们这一章节要做的事情就是在小程序客户端支持上微信授权登录,我们的目标是:在小黄书小程序打开时,通过微信授权进行登录。登录成功后,将访问令牌存放到小程序提供的本地缓存中。1. ...
原创
237阅读
0评论
0点赞
发布博客于 2 月前

[小黄书后台]会员管理及微信授权登录

通过前几章小程序的UI实践,我们小黄书的Home页面已经有一个基本的呈现。但是,所有的数据还都只是mock模拟的数据,还没有任何跟小黄书服务器进行交互的动作。今天开始,我们会逐步增加小程序和服务器的交互。首先,我们会从后台对客户端会员登录的支持开始。参考小红书应用,它大体支持以下几种会员的登录方式:通过手机号和验证码进行登录通过手机号和密码进行登录,其中密码是在后期绑定进去,而不是注册时...
原创
590阅读
0评论
0点赞
发布博客于 2 月前

[小黄书小程序]主页面笔记图片高度自适应及上拉无限加载及下拉更新

上一章我们实现了小黄书小程序标签栏的左右滑动和弹出框UI功能,今天我们会开始实现主页面中笔记的呈现。主要的功能会囊括以下几个方面:笔记的两列式布局: 一行只是显示两个笔记。且每个笔记的封面图片的高度进行自适应呈现。笔记的下拉刷新: 下拉时,检查是否有新的笔记,并完成加载。同时在标题栏显示加载动画。笔记的上拉无限加载:上拉时,获取更多的笔记,并进行加载。同时在下方显示加载动画。1. 笔...
原创
201阅读
0评论
0点赞
发布博客于 2 月前

[小黄书小程序]主页面标签栏水平滑动和下拉弹出框

上一章我们实现了小黄书小程序的搜索栏的界面呈现。这一章我们将会参考小红书实现搜索栏下面的标签栏。该标签栏存在的意义是,用户可以根据选择的标签来快速呈现相关的内容。该标签栏界面主要是两个功能模块。一个是可以左右滑动的标签栏:另外一个功能模块就是,点击标题栏右边的箭头按钮,可以弹出和收起完整的标签弹出框:1. 标签栏布局整个标签栏的布局实现跟我们上一章的搜索栏的布局的实现很类似,我们同...
原创
134阅读
0评论
0点赞
发布博客于 2 月前

[小黄书小程序]主页面搜索栏和flex布局

上一章我们实现了小程序的导航栏和标题栏的呈现,今天我们会开始小黄书主页面的相关界面。因为本人对css不是很熟悉,所以涉及到的知识点都会写得比较细,对于熟悉的朋友来说,也许会觉得比较冗余。所以大家酌情观看。1. 搜索栏经过上一章的实战,我们这个时候在pages/home页面已经生成了相应的几个文件:home.jshome.jsonhome.wxmlhome.wxss我们将会在h...
原创
109阅读
0评论
0点赞
发布博客于 2 月前

[小黄书小程序]导航栏和标题栏界面

我们前面几章已经将小黄书的后台基础框架给搭建好了。后台的小黄书相关的业务逻辑,会在往后根据客户端的业务需求来进行实现。今天起我们会开始小黄书小程序的实现。我们先看下小红书应用的主界面。这一篇文章中我们主要是要搞定以下界面的UI呈现:将最下面的导航栏的界面呈现最上面的标题栏的界面呈现这里我们假设您已经做好以下准备,如果没有的话,请自行百度:已经安装微信web开发者工具: 我们可...
原创
191阅读
0评论
0点赞
发布博客于 2 月前

[小黄书后台]手机短信验证码

上一章我们实现了将图片上传到又拍云上的功能。今天我们会实现手机验证码的功能。我们现在到处都会碰到手机验证码的验证方式,比如在注册的时候,通过输入手机号码,获取一个验证码,然后输入完成注册。1. 螺丝帽 vs 云片一开始的时候,我们往往疲于短信服务商的选择。这里我选择了两个我觉得比较好的进行支持。一个是螺丝帽: https://luosimao.com一个是云片: https://ww...
原创
371阅读
0评论
0点赞
发布博客于 2 月前

[小黄书后台]文件上传到CDN

上一篇文章我们通过multer这个中间件将图片顺利的上传到了我们的服务器上面,且将图片的元数据存储到了Image这个mongodb的collections里面。这一章我们看下应该如何将文件上传到cdn,以便客户端通过cdn来快速访问图片。这里我们用到的cdn是又拍云的,国内知名度比较高,且注册认证后会送1个月的免费券。我们要达成的目标是:在配置文件提供一个开关,打开的话会将图片传送到服...
原创
119阅读
0评论
0点赞
发布博客于 2 月前

[小黄书后台]文件上传到服务器

上一篇文章我们实现了小黄书后台框架中的鉴权服务。今天我们会开始实现文件上传的服务,因为我们参考的小红书中有很多地方是需要上传图片的,比如商品的图片等。1. Express Multer中间件Express框架下进行文件上传的一个很好用的中间件就是Multer:https://github.com/expressjs/multer它提供的Readme有很好的例子指导我们如何使用该中间件来进...
原创
112阅读
0评论
0点赞
发布博客于 2 月前

[小黄书后台]redis和鉴权

上一章我们通过引入mongodb实现了基本的用户管理,已经实现了异常处理的基本框架。今天我们会开始实现小红书后台的鉴权功能。鉴权的主要目的就是为了:让授权的用户访问相应的api资源,而禁止没有授权的用户去访问不属于它的资源。现在比较流行的方案就是基于Token的鉴权方式, 请看知乎上的描述:https://zhuanlan.zhihu.com/p/19920223?columnSlug...
原创
99阅读
1评论
0点赞
发布博客于 2 月前

[小黄书后台]mongodb和用户管理

上一章我们介绍了如何通过nodemon,bunyan 以及最新的nodejs调试方式来让我们更高效的进行代码调试。本章我们会引入数据库的使用,毕竟,我们小黄书的很多数据是需要存储在数据库中的。1. Mongodb这里我们假设大家对Mongodb已经有基本的了解,所以不会去详细介绍安装和基本使用之类的东西,更多的是关注到我们小黄书相关的实现上面来。我自己安装的mongodb采取的基本都是默...
原创
90阅读
0评论
0点赞
发布博客于 2 月前

[小黄书后台]更高效的nodejs调试

上一篇文章我们通过引入Express Router来将来自客户端的各种请求代码模块化到routes目录下面,将server.js的代码保持足够的简洁。我们前面在修改了代码之后,都需要重新执行’node server/server.js’来运行服务器代码来进行调试,这显得很麻烦。且我们调试也基本上通过console.log来做,效率很低,效果也不是很好。所以本章我们尝试解决这几个问题:通过g...
原创
71阅读
0评论
0点赞
发布博客于 2 月前

[小黄书后台]路由级中间件及SRP单一职责原则

1. SRP单一职责原则单一职责原则(SRP:Single responsibility principle)又称单一功能原则。指的是不要存在多于一个导致类变更的原因。通俗的说,即一个类只负责一项职责。在nodejs中,我们这里将‘类’转变成‘模块’,单一职责原则同样适用。首先,回顾我们上一章的helloworld这个api在server.js文件中的应用级中间件的实现:app.u
原创
64阅读
0评论
0点赞
发布博客于 2 月前

[小黄书后台]Insomnia及HelloWorld

Insomnia工欲善其事必先利其器。开发调试Resftful API的服务,我们需要有些好的工具进行支持。Postman vs Insomnia[Postman示例] [Insomnia示例] 对于调试Restful API的工具,最出名的应该就是谷歌的Postman工具。但是这个工具是个内存和CPU消耗大户(至少在我的Mackbook pro乞丐版上是如此,很容
原创
172阅读
0评论
0点赞
发布博客于 2 月前

小白如何入门全栈开发

本教程的主要目的是想从最基础简单的概念入手,记录下自己是如何从小白到入门全栈开发的过程,以便自己查阅。 当然,如果能给后来者带来那么一点点的帮助,那将甚是欣慰。
原创
65阅读
0评论
0点赞
发布博客于 2 月前

晓日程-首款打通微信和桌面的免费日历应用

新年伊始,新年新决心, 各大网站到处大肆标榜高效率人士是如何提高生产率的,其中一个共同点就是如何高效的利用好有限的时间。什么有效的单位时间划分,番茄工作法, GTD(Get Things Done),《清单革命》等方法论和书籍再次随着大家的唾沫子到处传播。 作为缺乏运动而免疫力底下且脑洞长期大开的程序员行列的一员,这些唾沫子很容易就通过眼耳口鼻直接进入我的大脑,触碰着我的show觉神经,逼迫本人给...
原创
599阅读
0评论
0点赞
发布博客于 2 年前

nodejs通过lodash合并去重由unixtime和Date组成的两个数组

1. 问题起源最近在实现一个API,其中有一部分功能是需要从Mongodb中取出一个由Date对象组成的数组,然后将客户端传过来的unixtime合并到该数组中,并且去重复。比如,假设从mongodb中取回来的数据中有一个叫做gaming的项,专门用来记录用户进入游戏的开始时间和退出时间。 那么mongoose的schema的定义将大概是这样的:const DeviceLogS
原创
6520阅读
0评论
2点赞
发布博客于 4 年前

小白学react之调用微信jssdk实战

本打算网上找个react调用微信的jssdk的实例进行学习的,但可惜搜索了半天而未果,只有一些基于其他框架的。估计是大牛们都觉得太简单或者太忙了,懒得提笔花几个小时来给我们做个Demo。对于处于快速学习年代的我们,一个可以运行起来的示例是多么的重要。希望本示例可以起到抛砖引玉的作用,让大家能快速的在react框架下体验jssdk的强大功能。通过上一篇《小白学react之网页获取微信用户信息》我们学
原创
8168阅读
2评论
0点赞
发布博客于 4 年前

小白学react之网页获取微信用户信息

通过上一篇《小白学react之EJS模版实战》我们学习了如何通过EJS模版生成我们高定制化的index.html文件。本篇我们将会继续延续我们的alt-tutorial项目的实战计划,去获取微信扫码用户的信息,并将头像显示在我们页面的右上角上。最终实战效果将如下所示。首先根据我们的网站url生成二维码,比如我们可以通过浏览器的FeHelper来生成:然后用户通过微信扫码:最后用户确定授权后获取到用户
原创
4897阅读
0评论
2点赞
发布博客于 4 年前

小白学react之EJS模版实战

通过上一篇《小白学react之由FOUC引发的一次webpack变革》我们学习了webpack的一些高级用法,比如如何生成哈希文件,如何将开发和生产配置分离,如何解决FOUC问题,以及如何运用html格式的模版来自动生成我们的index.html。但是在尝试将我们的应用部署到我的一个阿里云服务器上的时候却出现了问题。整个问题主要就是因为前端路由和访问路径不一致导致的,往下我就描述下应该如何解决。1.
原创
3101阅读
0评论
0点赞
发布博客于 5 年前

小白学react之由FOUC引发的一次webpack变革

上一篇《小白学react之页面BaseLayout框架及微信的坑》我们学习了如何为各个Components提供一个基础的父框架组件来处理不同页面的Title的显示和Style样式的显示。今天本人会尝试就自己踩到的一个坑开始,通过对webpack做进一步的修改,来学习更高级点的webpack相关的知识点。主要需要解决的问题如下:FOUC问题生产和开发配置分离自动生成index.html页面模版文
原创
1768阅读
0评论
0点赞
发布博客于 5 年前

小白学react之页面BaseLayout框架及微信的坑

上一篇《小白学react之SASS实战》我们学习了如何通过运用sass来为我们的应用页面“上色”,加入css的支持。但是我们到现在为止,每个页面的标题还是系统默认的,这多多少少显得不专业: 今天我的目标就是为所有页面提供一个通用的基础布局框架,以便在同一个地方控制不同页面的布局,比如背景颜色以及标题等。1. BaseLayout1.1 小白方案以修改标题为例,假如我们希望在About页面的时候标题
原创
1598阅读
0评论
0点赞
发布博客于 5 年前

小白学react之SASS实战

上一篇《小白学react之restful api获取服务器数据实战》我们学习了如何通过superagent的两个模块提供的功能,调用远程Express服务器上通过restful api提供的数据,并且学习了如何打造一个简单的Express api服务器。今天本人准备将我们的示例应用alt-tutorial加上css的支持,以便能更好的呈现。以下是最终效果:本篇开始之前,如果看官跟我一样对SASS没有
原创
2113阅读
0评论
0点赞
发布博客于 5 年前

小白学react之restful api获取服务器数据实战

通过上一篇文章《[小白学react之React Router实战](http://techgogogo.com/2016/09/react_router/)》我们学习了在React Router的基本功能,并根据路由功能建立了一个导航栏,可以方便的切换查看Locations和About。但是,这里Locations的数据还是在客户端模拟出来的。作为前端应用,和服务器端打交道是在所难免的了。所以,今天我
原创
7513阅读
0评论
1点赞
发布博客于 5 年前

小白学react之React Router实战

通过上一篇文章《[小白学react之altjs下的Action和Store](http://techgogogo.com/2016/09/altjs_action_store/)》我们学习了在alt框架下的Action和Store的特色,以及对alt-tutorial的代码做了重构,让其更简洁且各模块职责更分明。今天的计划是继续对alt-tutorial进行改造,通过实战来学习React Router的基
原创
1011阅读
0评论
0点赞
发布博客于 5 年前

微信应用号开发知识贮备之altjs的Action和Store

过上一篇文章《[微信应用号开发知识贮备之打通React Component任督二脉](http://techgogogo.com/2016/09/altcontainer/)》我们学习了AltContainer是如何通过对Component职责的解绑,让Component的尽可能的关注在如何进行页面渲染的逻辑上去,而不需要去管该如何获取数据,该如何监听状态是否改变是否需要重新渲染的逻辑,从而让整个组件更容易重用
原创
758阅读
0评论
0点赞
发布博客于 5 年前

微信应用号开发知识贮备之打通React Component任督二脉

随着微信应用号的呼之欲出,相信新一轮的APP变革即将发生。作为行业内人士,我们很应该去拥抱这个趋势。这段时间在忙完工作之余准备储备一下这方面的知识点,以免将来被微信应用号的浪潮所淹没...
原创
1234阅读
0评论
0点赞
发布博客于 5 年前

微信应用号开发知识贮备之Webpack实战

随着微信应用号的呼之欲出,相信新一轮的APP变革即将发生。作为行业内人士,我们很应该去拥抱这个趋势。这段时间在忙完工作之余准备储备一下这方面的知识点,以免将来被微信应用号的浪潮所淹没通过上一篇《微信应用号开发知识贮备之altjs官方实例初探》,我们已经将altjs的官方实例所用到的依赖包升到最新,且修改的源码相应的部分来适应最新的依赖。
原创
2118阅读
0评论
0点赞
发布博客于 5 年前

微信应用号开发知识贮备之altjs官方实例初探

天地会珠海分舵注:随着微信应用号的呼之欲出,相信新一轮的APP变革即将发生。作为行业内人士,自己之前从来没有做过web及webapp开发,所以这方面算是一名小白。时下最热的技术栈当然还是围绕着javascript的nodejs,mongodb,express, angularjs,HTML5,reactjs等了,这段时间在忙完工作之余准备储备一下这方面的知识点,以便不被微信应用号的浪潮所淹没。
原创
921阅读
0评论
0点赞
发布博客于 5 年前

开辟新战场,打造新的商业模式

在当今商业竞争异常激烈的年代,“差异化”和“革新”这两个词被广泛的交替使用,人们对它们之间的差别已经变得越来越模糊。比如我们经常会听到人说,我们要革新我们的商业模式,对我们的产品重新进行定位,找到有差异化的新商业模式和产品定位。其实它们之间是有着明显的区别的,“差异化”形容的是当前事物和旧事物还是基于同样的基础架构的,只是上层的表现形式等发生了改变。比如无论你一辆车的形状怎么变,无论你是烧汽油的兰博
原创
1708阅读
0评论
0点赞
发布博客于 5 年前

需求驱动还是技术驱动,大跃进的聊天机器人在开着一辆往历史倒退的车

F8大会的那个引爆的聊天机器人相信大家已经耳熟能详,但我们真的是需要这样的一个聊天机器人吗?Facebook是在大跃进穿越未来,还是在开着历史的倒车呢?李敖有话说:“是这样吗?真的是这样子吗?”
原创
6189阅读
0评论
0点赞
发布博客于 5 年前

苹果产品设计中鲜为人知的10个细节

说到设计,无论是软件还是硬件上面,毫无疑问苹果对于细节上面的把控可以说无人能与之匹敌。在过去的几十年里,苹果对细节的注重可谓有口皆碑,很多细节上面的设计在无人指出的情况下很多消费者都没有注意到。令人惊讶的是,很多注重细节的iPhone和Mac的忠实拥趸也尝尝会忽略掉苹果设计上面的一些细节。下面我们列出10个可能会让你眼界大开的有趣却鲜为人知的设计细节,值得注意的是,这些细节事实上苹果也没有大肆的宣扬
翻译
1882阅读
0评论
1点赞
发布博客于 5 年前

破坏性创新第一原则

如果在位者的关键用户们没有尽其所能的去揶揄你在打造的产品是如何的功能匮乏的话,那么,你的这个产品没有足够的破坏力...
翻译
1672阅读
1评论
0点赞
发布博客于 6 年前

云端办公?除了访问不了的谷歌和付费的微软,您其实还有其他选择

LibreOffice的商业合作伙伴Collabora和ownCloud共同发布了一个在线LibreOffice版本,其中ownCloud是一个类似Dropbox的开源文件存储和共享系统(其实就是一私有云产品)...
翻译
1927阅读
0评论
0点赞
发布博客于 6 年前

如日中天的Uber究竟是用什么开发语言做到的?

Uber的网站可靠性工程师Tom Croucher在最近于波兰举行的Node.js互动大会上详尽的对该公司所用的语言平台进行了阐述...
翻译
2400阅读
1评论
1点赞
发布博客于 6 年前

2分钟读懂大数据框架Hadoop和Spark的异同

谈到大数据,相信大家对Hadoop和Apache Spark这两个名字并不陌生。但我们往往对它们的理解只是提留在字面上,并没有对它们进行深入的思考...
翻译
2841阅读
3评论
5点赞
发布博客于 6 年前

谁在吞噬着这个世界

Marc Andreessen曾抛出著名的言论说:“软件正在吞噬着整个世界”,这句话如今在IT界可谓是无人不知,无人不晓。同样是做风投的同行John Vrionis更进一步的断言说:“开源软件正在吞噬着整个世界”。那么何出此言?John是在大放阙词呢?还是言之有理呢?
翻译
1813阅读
0评论
0点赞
发布博客于 6 年前

第14章9节《MonkeyRunner源码剖析》 HierarchyViewer实现原理-遍历控件树查找控件

到了现在,万事已经俱备,控件树这个东风也已经就绪了,我们也终于可以火烧赤壁大展拳脚,通过控件的ID在控件树中找到我们想要的控件了。 HierarchyViewer只允许用户通过控件的ID去查找控件,这比Robotium,UiAutomator和Appium这些框架是少了很多查找控件的方式的,但聊胜于无。 HierarchyViewer去尝试通过控件ID的方法叫做findViewById,它有两个重
原创
2106阅读
1评论
0点赞
发布博客于 6 年前

第14章8节《MonkeyRunner源码剖析》 HierarchyViewer实现原理-获取控件列表并建立控件树

在上几节的描述中,我们把HierarchyViewer初始化好,也把ViewServer给装备好了。那现在距离获得一个控件去操作它是万事具备只欠东风了,欠了那一股春风了?欠了的是建立控件树这个东风,因为HierarchyViewer根据ID去获取一个控件之前是需要先建立好控件树,然后从该控件树上根据ID去查找到目标控件的。 那么这一小节我们就先去看下HierarchyViewer是如何去ViewS
原创
2104阅读
0评论
0点赞
发布博客于 6 年前

第14章7节《MonkeyRunner源码剖析》 HierarchyViewer实现原理-装备ViewServer-获取版本号

这里获取的版本号有两个,一个是ViewServer自身的版本号,一个是ViewServer当前使用协议的版本号。 我们这里为什么需要获取ViewServer版本以及其协议版本呢?其实主要原因是ViewServer有些功能在老版本上是不支持的,比如HierarchyViewer在列出当前所有Activity窗口的时候,针对获取焦点的窗口会根据不同的ViewServer协议版本而作不同处理,请看源码示
原创
1860阅读
0评论
0点赞
发布博客于 6 年前

第14章6节《MonkeyRunner源码剖析》 HierarchyViewer实现原理-装备ViewServer-启动ViewServer

在获得ViewServer的运行状态后,如果ViewServer还没有启动的话,HierarchyViewer的setupViewServer的下一步就会去启动ViewServer。调用的方法是DeviceBridge.startViewServer,我们进去看看:190 public static boolean startViewServer(IDevice device) {191
原创
1815阅读
0评论
0点赞
发布博客于 6 年前

第14章5节《MonkeyRunner源码剖析》 HierarchyViewer实现原理-装备ViewServer-查询ViewServer运行状态

上一小节我们描述了HierarchyViewer是如何组建ADB协议命令来实现ViewServer的端口转发的,在端口转发设置好后,下一个要做的事情就是去检测目标设备端ViewServer线程是否已经启动起来了。我们进入setupViewServer调用的DeviceBridge的isViewServerRunning方法:165 public static boolean isViewS
原创
1779阅读
0评论
0点赞
发布博客于 6 年前

第14章4节《MonkeyRunner源码剖析》 HierarchyViewer实现原理-装备ViewServer-端口转发

在初始化HierarchyViewer的实例过程中,HierarchyViewer会调用自己的成员方法setupViewServer来把ViewServer装备好,那么我们这里先看下这个方法: 39 private void setupViewServer() { 40 DeviceBridge.setupDeviceForward(mDevice); 41
原创
1700阅读
0评论
0点赞
发布博客于 6 年前

第14章3节《MonkeyRunner源码剖析》 HierarchyViewer实现原理-HierarchyViewer实例化

既然要使用HierarchyViewer来获取控件信息,那么首先我们看下在脚本中,我们是怎么获得HierarchyViewer的,看下面一段脚本代码:1 device = MonkeyRunner.waitForConnection() 2 device.wake()3 device.startActivity(component="com.example.android.notepad/c
原创
1759阅读
0评论
0点赞
发布博客于 6 年前

第14章2节《MonkeyRunner源码剖析》 HierarchyViewer实现原理-HierarchyViewer架构概述

HierarchyViewer库的引入让MonkeyRunner可以以面向控件的方式进行脚本编写,那么它是怎么做到这一点的呢?它的实现原理又是怎么样的呢?在这一小节开始我们就会开始一起揭开它的神秘面纱。 HierarchyViewer这个框架的工作需要ViewServer的协同工作,它们是以CS(Client-Server)架构来协同工作的。我们在上一章已经学习了如何让做为Server端的View
原创
1972阅读
0评论
2点赞
发布博客于 6 年前

第14章1节《MonkeyRunner源码剖析》 HierarchyViewer实现原理-面向控件编程VS面向坐标编程

到此为止我们描述的MonkeyRunner对应用的点击拖放等操作都是直接通过指定坐标点来实现的,比如下面触摸一个坐标点为(60,90)的按钮的脚本例子:1 device.touch(60,900,MonkeyDevice.DOWN_AND_UP)代码14-1-1 直接使用坐标点操作应用  这样子做的话代码会存在以下几大缺点:缺乏易用性:要操作某个控件之前需要先想办法如通过工具来定位该控件的坐标点可
原创
1574阅读
0评论
1点赞
发布博客于 6 年前

第8章7节《MonkeyRunner源码剖析》MonkeyRunner启动运行过程-小结

最后我们对MonkeyRunner启动的过程做一个总结,当然,其中也包括启动Monkey,虽然它不属于启动过程的一部分:monkeyrunner这个shell脚本会先设置一些运行环境的系统属性保存到JVM的System.Propery里面然后该脚本会通过java -jar直接运行sdk下面的monkeyruner.jar然后操作系统直接回调到monkeyrunner在MonkeyRunnerSta
原创
1361阅读
0评论
1点赞
发布博客于 6 年前

第8章6节《MonkeyRunner源码剖析》MonkeyRunner启动运行过程-启动Monkey

大家可能会觉得奇怪,为什么启动目标设备端的monkey进程会放在“运行测试脚本”这一节之后来阐述。 纵观前面整个MonkeyRunner的启动流程,我们看到并没有提及到monkey进程启动的地方。那么就奇怪了,monkey是什么时候被MonkeyRunner启动起来的呢? 我们的测试脚本一开始时几乎毫无例外的都需要执行一个调用:MonkeyRunner.waitForConnection(),如果
原创
1691阅读
0评论
2点赞
发布博客于 6 年前

第8章5节《MonkeyRunner源码剖析》MonkeyRunner启动运行过程-运行测试脚本

MonkeyRunner在准备好AndroidDebugBridge和DeviceMonitor等服务之后,就基本上是解决了和目标设备通信的问题了,那往下需要做的就是把测试脚本运行起来了。178 public static void main(String[] args) {179 MonkeyRunnerOptions options = MonkeyRunnerOptions.p
原创
1494阅读
0评论
1点赞
发布博客于 6 年前

第8章4节《MonkeyRunner源码剖析》MonkeyRunner启动运行过程-启动AndroidDebugBridge

上一节我们看到在启动AndroidDebugBridge的过程中会调用其start方法,而该方法会做2个主要的事情:715行startAdb:开启AndroidDebugBridge722-723行:初始化android设备监控并启动DeviceMonitor设备监控线程。 其中第一点我们上一小节已经做了详尽分析了,那么我们往下就去分析下第2点。 DeviceMonitor主要的功能就是监控是否有
原创
1945阅读
0评论
1点赞
发布博客于 6 年前

第8章3节《MonkeyRunner源码剖析》MonkeyRunner启动运行过程-启动AndroidDebugBridge

用户在命令行运行monkeyrunner命令来执行测试脚本的时候ADB服务器有可能还没有起来,AndroidDebugBridge类的主要作用之一就是去开启一个新的进程来启动ADB服务器,这样我们的测试脚本才能发送命令给ADB服务器去驱动目标设备做事情,比如安装或者删除待测应用的安装包等。 MonkeyRunner在启动的过程中会牵涉到一系列的调用并关联到不同的类来做不同的事情。 图8-3-1
原创
1546阅读
0评论
1点赞
发布博客于 6 年前

第8章2节《MonkeyRunner源码剖析》MonkeyRunner启动运行过程-解析处理命令行参数

MonkeyRunnerStarter是MonkeyRunner启动时的入口类,因为它里面包含了main方法.它的整个启动过程主要做了以下几件事情:解析用户启动MonkeyRunner时从命令行传输进来的参数: 因为MonkeyRunner需要根据指定的参数才能做事情,比如输入的一个需要执行的脚本。如果确实不知道任何参数的话它就会进入MonkeyRunner的交互模式,其实就是Jythong的交互
原创
1567阅读
0评论
1点赞
发布博客于 6 年前

第8章1节《MonkeyRunner源码剖析》MonkeyRunner启动运行过程-运行环境初始化

首先大家应该清楚的一点是,MonkeyRunner的运行是牵涉到主机端和目标设备端的,流程控制逻辑代码是在PC端运行的,但很多命令请求的执行是在目标机器端执行的。这不像其他框架如UiAutomator是所有东西都完全在目标设备端运行的。 这里我们首先应该去看的不是MonkeyRunnerStarter这个类里面的main这个入口函数,因为monkeyrunner其实是个shell脚本,它就在你的s
原创
1188阅读
0评论
1点赞
发布博客于 6 年前

第6章8节《MonkeyRunner源码剖析》Monkey原理分析-事件源-事件源概览-小结

本章我们重点围绕处理网络过来的命令的MonkeySourceNetwork这个事件源来阐述学习Monkey是如何处理MonkeyRunner过来的命令的。以下总结下MonkeyRunner从启动Monkey开始到如何处理完成一个命令的流程总结如下:MonkeyRunner通过ADB发送shell命令”monkey --port 12345”来启动MonkeyMonkey启动运行进入runMonke
原创
1165阅读
0评论
1点赞
发布博客于 6 年前

第6章7节《MonkeyRunner源码剖析》Monkey原理分析-事件源-事件源概览-注入按键事件实例

在事件生成并放入到命令队列后,Monkey类的runMonkeyCycles就会去调用相应事件源的getNextEvent来获的事件来执行事件注入,那么这一小节我们通过MonkeyKeyEvent这个事件的注入方法来看下事件注入过程是怎么样的。 往系统注入按键事件最终是通过调用InputManager提供的方法来实现的,在Android系统中,按键事件是由InputManager来收集并由Wind
原创
1333阅读
0评论
1点赞
发布博客于 6 年前

第6章6节《MonkeyRunner源码剖析》Monkey原理分析-事件源-事件源概览-命令队列

事件源在获得字串命令并把它翻译成对应的MonkeyEvent事件后,会把这些事件排队放入一个由事件源维护的队列,然后其他地方如Monkey类的runMonkeyCycles方法就可以去把队列里面的事件取出来进一步进行处理了。那么这里我们先看下属于MonkeySourceNetwork内部类的命令队列的类图: 图6-6-1 命令队列类图 整个继承关系非常清晰简洁,CommandQueue接口定
原创
1096阅读
0评论
2点赞
发布博客于 6 年前

第6章5节《MonkeyRunner源码剖析》Monkey原理分析-事件源-事件源概览-事件

从网络过来的命令字串需要解析翻译出来,有些命令会在翻译好后直接执行然后返回,但有一大部分命令在翻译后需要转换成对应的事件,然后放入到命令队列里面等待执行。Monkey在取出一个事件执行的时候主要是执行其injectEvent方法来注入事件,而注入事件根据是否需要往系统注入事件分为两种:需要通过系统服务往系统注入事件:如MonkeyKeyEvent事件会通过系统的InputManager往系统窗口注
原创
1427阅读
0评论
1点赞
发布博客于 6 年前

第6章4节《MonkeyRunner源码剖析》Monkey原理分析-事件源-事件源概览-翻译命令字串

在第2节中我们看到了MonkeySourceNetwork是如何从Socket中获取MonkeyRunner发送过来的命令字串的,但是最后如何将它翻译成事件的代码我们还没有进行分析,因为在那之前我们还没有了解命令翻译类的相关知识。那么经过第3小节对命令翻译类的学习后,我们就可以继续往下分析MonkeySourceNetwork的getNextEvent中是如何翻译命令字串的了。 我们回看下第2小节
原创
1175阅读
0评论
2点赞
发布博客于 6 年前

第6章3节《MonkeyRunner源码剖析》Monkey原理分析-事件源-事件源概览-命令翻译类

每个来自网络的字串命令都需要进行解析执行,只是有些是在解析的过程中直接执行了事,而有些是需要在解析后创建相应的事件类实例并添加到命令队列里面排队执行。负责这部分工作的就是命令翻译类。那么我们往下还是继续在MonkeySourceNetwork这个范畴中MonkeyCommand类是怎么一回事: 图6-3-1 MonkeyCommand族谱 图中间的MonkeyCommand是一个接口,主要定
原创
1140阅读
0评论
1点赞
发布博客于 6 年前

第6章2节《MonkeyRunner源码剖析》Monkey原理分析-事件源-事件源概览-获取命令字串

从上一节的描述可以知道,MonkeyRunner发送给Monkey的命令是以字符串的形式交互的,那么事件处理的第一步当然是先去获得MonkeyRunner发送过来的字串命令了。 在事件源MonkeySourceNetwork初始化的时候构造函数会创建一个ServerSocket来监听来自客户端的链接和数据,但这个时候客户端并不能真正实现和服务端通信,因为该ServerSocket尚处于阻塞状态。既
原创
1208阅读
0评论
2点赞
发布博客于 6 年前

第6章1节《MonkeyRunner源码剖析》Monkey原理分析-事件源-事件源概览

在上一章中我们有简要的介绍了事件源是怎么一回事,但是并没有进行详细的描述。那么往下的这几个小节我们就需要把这方面的知识给补充完整。 这一节我们先主要围绕MonkeySourceNetwork这个事件源来学习事件源的框架结构。首先,要理解事件源,必须先搞清楚几个问题:事件从哪里来? Monkey的事件来源有多个方面,但是作为MonkeyRunner框架的一部分,它的事件来源主要是来自MonkeyRu
原创
2118阅读
0评论
1点赞
发布博客于 6 年前

智能机增长速度放缓,库克却乐开了坏

自智能手机出现以来,人们从不吝啬往这上面抛掷真金白银,所以整个市场在近十年来都是呈指数级别的增长。但今天,根据全球著名的市场研究公司IDC的预测,临近尾声的2015将成为全球智能手机市场增长率首次低于10位数的一年...
翻译
1473阅读
0评论
0点赞
发布博客于 6 年前

沃尔玛全球最便宜的10美元智能机评测报告

"反正就是最便宜的..."
翻译
2313阅读
1评论
0点赞
发布博客于 6 年前

一分钟告诉你究竟DevOps是什么鬼?

为了能够更好的理解什么是DevOps,我们很有必要对当时还只有程序员(此前还没有派生出开发者,前台工程师,后台工程师之类)这个称号存在的历史进行一下回顾。如编程之道中所言:老一辈的程序员是神秘且深奥的。我们没法揣摩他们的想法,我们所能做的只是描述一下他们的表象。清醒的像一只游过水面的狐狸警惕的像一位战场上的将军友善的像一位招待客人的女主人单纯的像一块未经雕琢的木头深邃的像一潭幽深洞
翻译
43095阅读
9评论
24点赞
发布博客于 6 年前

Adobe 最终还是接受了Flash将寿终正寝的这个事实

随着HTML5的兴起,曾经风靡全球的Flash已经逐渐被人淡忘。但是想当年Flash还真的是大家可以做出动人的动画的唯一的选择,所以才吸引无数的开发人员使用Adobe的Flash专业版进行动画制作。今天Adobe通过将Flash专业版重新命名成Adobe Animate CC,算是正式的给Flash时代划上一个句号了。Adobe公司宣称说“现在通过Flash专业版制作的动画有超过三分之一是属于HTM
翻译
2125阅读
0评论
4点赞
发布博客于 6 年前

彼得·蒂尔:新核能市场将成风投热土

如果我们真的想要取代污染严重的矿物燃料的话,那么我们毫无疑问是需要发展核能技术的。那么剩下的问题就很明朗了:我们要不就是纸上谈兵,对所谓的无碳环境意淫下就完事开始事后烟;要不就是切实行动,真刀真枪的去干一场以造福后代子孙...
翻译
1597阅读
0评论
1点赞
发布博客于 6 年前

为什么你把项目管理的书看完了还是不能带好一个团队?

在当今市场上,最聪明的往往不是哪些想通过这些管理工具来致胜的企业,而是那些通过让团队成员进行思维方式上超越的企业...
翻译
1851阅读
5评论
4点赞
发布博客于 6 年前

为您的创业公司推荐5款类Slack开源协作工具

如果你想自己来把控企业数据的安全等的话,你可以选择在你的企业内部来搭建类似Slack的服务。这里我们将会给大家推荐九款Slack的替代品,这些工具皆远胜其他基于IRC的工具,且他们都是开源的...
翻译
3402阅读
4评论
1点赞
发布博客于 6 年前

EPI调研报告:国家的英语水平和创新能力息息相关

在我们最近的这份报告中,我们对70个国家的英语能力进行打分,其中涵盖了近100万名英语学习调研对象。然后将获得的结果和世界发展指标(WDI)进行参照对比。最终发现一个国家的英语水平和创新的关键指标有着高度的联系。特别是在以下这几个方面...
翻译
1413阅读
0评论
1点赞
发布博客于 6 年前

继SaaS后的下一代主要技术猜想

其实我们细想下,计算机最根本的使命无非就是接受人的输入/指令,并经过运算后给人们提供相应的结果。无论你是社交软件,办公软件,游戏应用等,无不在此范畴之内。而我们的计算机自诞生伊始,虽然已经可以理解很多不同的机器/编程语言。但是它们却从来就没有能够真正的理解人类的语言。
翻译
1629阅读
0评论
0点赞
发布博客于 6 年前

玩物涨智:妈妈再也不用担心我的学习了

古人云玩物丧志。在古代,读书是寒门出身的布衣们的唯一出路。但凡有点想法的人的唯一志向也只是去考取功名,以求挤身仕途,一朝得志,平步青云,衣锦还乡而已。如果你有书不读,不去努力考取功名,而跑去学乐器,沉迷在吹箫的学习之中去了。那,你也难怪别人说你因为把玩奇巧淫技而丧失了志向了。
翻译
1513阅读
0评论
3点赞
发布博客于 6 年前

名企产品名宿谈产品那些事

在LinkedIn,Facebook,Twitter等名企当了十多年产品经理的Josh Elman,今天通过幻灯片的形式跟我们谈谈他的产品经理观。有些观点和译者及大家的认知应该有所出入,但本着求同存异的思想,译者翻译时还是选择了忠实原文,请知悉。
翻译
1388阅读
0评论
0点赞
发布博客于 6 年前

兔死狗烹,Twitter对开发者犯下的十宗罪

革命尚未成功,我们团结一切力量,农村包围城市;发展起来了给你来个城乡二元制,我的资源你轻易别来访问,给你设下各种限制。这个套路怎么就如此的面善:“飞鸟尽,良弓藏;狡兔死,走狗烹”。
翻译
2456阅读
1评论
1点赞
发布博客于 6 年前

科技界十五个惊艳的失败收购案一览表

除此之外,科技行业还有哪些没有成功却令人咂舌的重大收购案呢?那些没有被收购的企业最终又发展得如何了呢?请看下面Empire Flippers整理出来的一览表...
翻译
2390阅读
2评论
0点赞
发布博客于 6 年前

Airbnb如何冲破租赁平台两大弊端的封锁而获得成功

租赁平台必须达到可以让供应方在上面进行谋生的程度。但同时也别忘记这些租赁方式很多都是一次性交易的,没有多少回头客的,那么在这种情况下如何才能够正确的激励供应方,这也是大家值得思考的地方。去追逐那些高收益且高使用频率...
翻译
2355阅读
0评论
0点赞
发布博客于 6 年前

一分钟读懂:天使投资 vs. 风险投资 vs. 私募股权融资

海外资深投资人David Cummings简单扼要的对天使投资(Angel)、风险投资(VC)、私募股权投资(PE),以及一个初创企业所处的几个主要阶段进行阐述...
翻译
2678阅读
0评论
1点赞
发布博客于 6 年前

抱歉,戴尔,权威市场调研说公有云才是未来

这份报告的调研过程涉猎了广泛的各种服务,比如可以在上面运行任何你想要的软件的亚马逊EC2弹性云,可以通过网络进行访问的Microsoft Office 365套件,等等。亚马逊和微软以及谷歌这些企业不停的在这些领域进行扩张...
翻译
1368阅读
0评论
0点赞
发布博客于 6 年前

移动互联的未来,谁在紧握命运的咽喉?

事实上,这里可以看到我们其实是在尝试找出下一代运行时服务(run-time)。我们以前有网页,后来我们有了app,而下一个呢?推送?Siri/Now?消息服务?其他?但这些都没有将搜索、发现和购买作为这个框架的基础的一部分
翻译
1193阅读
0评论
0点赞
发布博客于 6 年前

创业教父Paul Graham: 穷途末路还是康庄大道

令人吃惊的是初创企业的创始人们常常不知道自己所处的状况。有一半跟我交谈过的创始人都对自己的企业是否正在走向穷途末路还是能够最终持续生存没有什么概念。
翻译
1581阅读
0评论
0点赞
发布博客于 6 年前

Twitter裁员给初创企业的教训:步子迈大了,容易扯着蛋

Twitter刚发布的消息宣称已经完成8%的裁员目标,共336人。作为过去十年最具创造力的企业之一,Twitter的这次裁员除了热闹和伤感之外,还给我们带来了哪些教训呢?
翻译
1725阅读
0评论
0点赞
发布博客于 6 年前

继戴尔670亿收购EMC后,科技界钱多的让人窒息的五大收购案

虽说2001年美国在线以1060亿美元收购时代华纳的交易来得更大手笔,但是很多人都不会将其考虑其中,因为彼时的时代华纳还不能真正意义上被称作是一家科技公司。所以下面我们就看看科技界中紧随戴尔和EMC这次收购之后的五次最大的收购案
翻译
1861阅读
3评论
0点赞
发布博客于 6 年前

微软今天的Windows 10硬件发布会汇总:手机瞬间变PC

国庆归来,恰逢微软今天在纽约(当地时间10月6号)举行了新一轮的设备发布会,其中囊括了Surface Book,MS Band 2,Surface Pro 4,Surface Pen等设备,下面让我们一睹为快...
翻译
2988阅读
3评论
1点赞
发布博客于 6 年前

很遗憾,苹果,原来设计师不使用平板电脑

这听上去确实是使用这款12.9英寸的平板电脑的很好的方式,除非事实是这样的:64%的设计师都不使用软件进行头脑风暴的,人家都是使用笔和纸
翻译
1930阅读
2评论
2点赞
发布博客于 6 年前

iOS9搜索新功能将狙击谷歌的搜索业务

虽然这并不是如广告屏蔽功能一样对谷歌进行直接的挑衅,但它将会在不知不觉中慢慢将谷歌(来自苹果设备上)的广告收入给切断。
翻译
1194阅读
0评论
0点赞
发布博客于 6 年前

如何善用产品设计的三个层级

这些成功的产品都功能非凡,使用非行直观,外观非常漂亮。我常常也极度想鼓励我们的初创企业在设计上面进行同样的投入,但是,初创企业往往时间都非常紧迫,资金也非常紧张,团队成员也很小,所以他们并不能够一下子就面面具到,但没关系...
翻译
2602阅读
0评论
0点赞
发布博客于 6 年前

需要时才去度秘一下,不如苍老师主动找你服务一下

一个不喜欢洗脚按摩的人,即使就住在按摩店楼上,也不会增加其消费服务的几率。相反,即使你再厌恶广告,在等电梯的空闲,却很容易会去瞄上两眼,这就是无成本消费和有成本消费的区别
原创
1572阅读
0评论
1点赞
发布博客于 6 年前

企业进行全球化扩张过程中最易犯的六个错误

随着商业逐渐往全球化发展,企业可以通过瞄准正确的国际市场和调整自身的产品及策略以吸引当地的用户来获得竞争优势。同时应该避开下面提到的这几点易犯的错误。
翻译
1405阅读
0评论
0点赞
发布博客于 6 年前

陈进: 创业维艰吗? 换个皮肤就能获批一亿经费!

在2003年的时候,当中国人民都在为国产CPU“汉芯”(或叫HISYS)而欢腾雀跃的时候,有人发现了该芯片以及它的制造者陈进教授背后存在着巨大的阴谋。3年之后,一个昵称为“深喉”的人在清华大学的BBS上揭露说汉芯CPU是一个巨大的谎言。
翻译
2320阅读
0评论
0点赞
发布博客于 6 年前