博客

沉思录的头像

GoPro/创始人说不了解中国,GoPro还咋在国内混?

浏览 981

GoPro创始人尼克•伍德曼(Nick Woodman)标榜自己创建的是一家内容公司。就在公司股价跌破发行价的当天,他在北京的一场媒体交流活动里表示:“我们的长远打算是成为制造内容的公司,相机这样的硬件只是制造出色内容的开始。”他说GoPro虽然从运动领域起家,但GoPro正在利用运动宣扬一种生活方式,鼓励用户参与进来。

不过在华尔街的眼里,GoPro的核心似乎还是硬件,其销量依然决定着这家公司的价值如何。今年10月底,GoPro发布第三财季财报,虽然营收和利润还在快速上升,但公司今年新推出的旗舰产品Hero 4 Session销量没有满足预期。推出产品不到半年,GoPro决定对Hero 4 Session降价四分之一,股价当天便大跌18%。

硬件销售数据引发的股价灾难远没有结束,上周五,GoPro股价跌破24美元每股的发行价,截至11月18日美股收盘,公司股价已经不足20美元。而在一年之前,这家公司的市值还是现在的4倍还多。

华尔街的担心:智能手机带来的相机革命,终于轮到GoPro了?

或许在伍德曼眼里,内容是GoPro发展壮大的核心。2014年6月上市后,公司似乎一直在刻意回避传统企业通过电视广告进行营销的策略。相反,GoPro赖以建立口碑的,是GoPro相机用户向YouTube上传的大量视频。其中不乏制作精良之作,最受欢迎的作品收获到的赞数一度接近2000万。

而实际上,在GoPro的发展历史里,为相机添加视频功能给公司带来的推动,或许远比郭台铭2012年提供的2亿美元投资重要得多。

据《福布斯》报道,GoPro的原型机是一台可以绑在手腕上,添加了防水外壳的胶卷相机。2004年,伍德曼开始一个人在冲浪运动员中出售产品,并在当年获得了15万美元的销售额,这一数字在之后的一年里增长到了35万美元。随后,GoPro将山地自行车、滑雪等细分的小众运动市场各个击破,到2006年,公司的年销售额已经达到了80万美元。

公司在2006年将产品从胶片相机转移到了数码相机领域,并且添加上了10秒视频的拍摄功能。这让GoPro真正迎来了井喷:当年,GoPro相机销售额翻了两番,达到了340万美元。至此,GoPro作为运动相机开始崭露头角。到2014年公司上市时,伍德曼已经可以声称这是世界上卖得最好的相机。而在当年,卡片数码相机早就因为智能手机的崛起惨淡经营。

不过伍德曼可能没有想到,在投资者眼里,数码相机碰到的天花板,GoPro也很快碰到了。

美国目前仍然是GoPro的第一大市场,但华尔街的分析师们认为,美国消费者似乎不再愿意掏钱购买手机以外的昂贵相机了。比如美国投资机构Oppenheimer & Co的分析师Andrew Uerkwitz对GoPro的看法简单直接:“相机的需求根本没那么多。”

这是实情,随着智能手机硬件配置提升,高清影像、光学防抖这些功能,越来越多地出现在了各大品牌的旗舰机上,其中苹果最近两年推出的iPhone尤其突出。众筹平台Kickstarter上甚至出现了为iPhone特制的防水壳:可以让手机拥有90英尺(约27米)深的防水——这比GoPro最新产品标称的33英尺(约10米)防水更加优秀,而且还便宜。

伍德曼在接受CNBC的采访里承认了这点,他说虽然公司业绩和产品需求依然良好,但公司对第二、第三季度的期望确实虚高。标普资本智商库(S&P Capital IQ)分析师Angelo Zino据此认为GoPro可能遇到了2014年6月上市以来最大的麻烦。

GoPro当然不会束手无策,在第三季度财报里,他们打算把更多的钱花在营销活动上,言外之意,就是走上了传统企业的老路,计划投放电视广告。当然,还有进入中国市场。

连伍德曼自己本人也承认:“不了解中国”

伍德曼说中国市场的增长速度会很快,GoPro在华运营9个月,已经进入了海外市场的前十。他没有透露任何关于中国市场的数据,但鉴于公司50%的营收来自美国以外,所以他认为“这是个不小的成就”。

但问题在于,连伍德曼自己本人也承认:“不了解中国”。

比如那些GoPro的中国对手。擅长以低价竞争的小米今年年初推出了小蚁运动相机,价格大约只有GoPro的十分之一。而小米只是众多中国竞争者之一,如果把从安防设备、行车记录仪等行业转型过来的国内厂商算进去,GoPro面对的是一支规模庞大的大军。更何况大疆也从高端杀入运动相机市场:这家原本和GoPro亲密合作的无人机公司今年发布了自家的运动相机Osmo,价钱与GoPro的旗舰产品类似,但更“划算”的是,还增加了手持稳定器。

伍德曼并不排斥这些竞争。他认为市场上不只是GoPro也非常有帮助。无论是小米这样来“搅局”的对手,还是大疆这种昔日的合作伙伴,竞争是好事。因为无论是哪家公司,都可以互相帮助迅速扩展业务。

但运动相机的国内业务规模有多大还很难说。大疆的Osmo上市时间不长,成绩如何尚不得知。而小米也一直没有公布过小蚁运动相机的销量数字。雷锋网曾经引用过国内另一家运动相机厂商JourCam的调研数字,GoPro在中国的月销量大约在10000-20000台,仍然是一个非常小的市场。

如此一来,GoPro开拓中国市场的姿势就多少显得有些奇怪。GoPro已经在微博、微信、优酷、土豆等主流的社交媒体平台和网络视频平台上开设了官方账号。在伍德曼看来,GoPro精心制作的视频可以激发用户的想象,让中国的用户在体育领域之外开发出更多的玩法。伍德曼对此很有自信:“GoPro频道里只有30%的视频是体育内容,其余的是旅游、文化、家庭录像、聚会、宠物各种各样的视频。”

这听上去就像是GoPro把美国的营销策略原封不动地移植进入了中国,但现实情况是,中国的互联网用户似乎还没有形成在优酷、土豆这样的视频平台上,消费UGC内容的习惯。虽然从用户行为上看,A站、B站的环境可能和YouTube更加相似,而且高质量的UGC内容也能在这两个平台上收获不错的传播效果,但在GoPro的规划里面,似乎并没有让这两个“怪力乱神”的平台进入视野。

平心而论,GoPro确实为中国用户做了不少工作。除了打通国内的社交和内容平台之外,相机的操作界面和智能手机App也都做了相应的汉化。但真正想要打开中国市场,仅有这些远远不够。毕竟,运动相机在国外遇到的瓶颈,国内也同样存在。而GoPro在中国又没有采用更加本土化的策略。海外市场对GoPro的发展诚然重要,但想要在中国复制年销量翻一番的神话,重新成为投资者眼中的高增长公司,GoPro显然还有很长的路要走。

SUN的头像

MySQL中order by 条件语句查询优化

浏览

一、介绍
相信作为DBA 在和开发打交道的过程中,经常会遇到分页查询 order by 排序这样的需求。本文源于生产过程中的案例,5.6版本的数据库使用limit和order by 一个非唯一字段时,结果集并不总是确定的.已经确定为bug,详见:MySQL 官方的bug
提醒读者朋友注意。
二、分析
环境准备
CREATE TABLE `tb1` (
`id` bigint(20) NOT NULL AUTO_INCREMENT,
`a` decimal(19,2) NOT NULL,
`acid` bigint(20) NOT NULL,
`prid` bigint(20) NOT NULL,
PRIMARY KEY (`id`),
KEY `idx_prid` (`prid`),
KEY `idx_acid` (`acid`)
) ENGINE=InnoDB AUTO_INCREMENT=0 DEFAULT CHARSET=utf8

注意字段a 上面是没有索引的。
初始化数据

INSERT INTO `tb1` (`id`, `a`, `acid`, `prid`)
VALUES (1,2.00,3,2),(2,3.00,3,2),(3,4.00,2,3),(4,5.00,2,3),(5,6.00,2,3),(6,8.00,2,3),(7,10.00,2,3),(8,12.00,2,3),(9,16.00,2,3),(10,20.00,2,3),(11,6.00,2,4),(12,8.00,2,4),(13,10.00,2,4),(14,12.00,2,4),(15,5.00,2,2),(16,6.00,2,2);

执行两个 根据非索引字段且有重复值的 order by 排序

mysql> select * from tb1 order by a desc limit 4;
+----+-------+------+------+
| id | a | acid | prid |
+----+-------+------+------+
| 10 | 20.00 | 2 | 3 |
| 9 | 16.00 | 2 | 3 |
| 14 | 12.00 | 2 | 4 |
| 8 | 12.00 | 2 | 3 |
+----+-------+------+------+
4 rows in set (0.00 sec)

得到id 为10, 9, 14, 8 的结果集

mysql> select * from tb1 order by a desc limit 3;
+----+-------+------+------+
| id | a | acid | prid |
+----+-------+------+------+
| 10 | 20.00 | 2 | 3 |
| 9 | 16.00 | 2 | 3 |
| 8 | 12.00 | 2 | 3 |
+----+-------+------+------+
3 rows in set (0.00 sec)

得到id 为10 9 8 的结果集
为a字段加上索引

mysql> alter table tb1 add key ind_tb1a(a);
Query OK, 0 rows affected (0.00 sec)
Records: 0 Duplicates: 0 Warnings: 0
mysql> select * from tb1 order by a desc limit 3;
+----+-------+------+------+
| id | a | acid | prid |
+----+-------+------+------+
| 10 | 20.00 | 2 | 3 |
| 9 | 16.00 | 2 | 3 |
| 8 | 12.00 | 2 | 3 |
+----+-------+------+------+
3 rows in set (0.00 sec)

得到id 为10 9 8 的结果集

mysql> select * from tb1 order by a desc limit 4;
+----+-------+------+------+
| id | a | acid | prid |
+----+-------+------+------+
| 10 | 20.00 | 2 | 3 |
| 9 | 16.00 | 2 | 3 |
| 14 | 12.00 | 2 | 4 |
| 8 | 12.00 | 2 | 3 |
+----+-------+------+------+
4 rows in set (0.00 sec)

得到id 为10, 9, 14, 8 的结果集
从上面的测试来看对于一个非唯一字段 无论是否含有索引,结果集都是不确定的。

三、解决方法
1 业务属性确保 a 字段不能唯一,则需要针对排序结果再加上 一个唯一字段的排序 比如id

mysql> select * from tb1 order by a desc ,id desc limit 4;
+----+-------+------+------+
| id | a | acid | prid |
+----+-------+------+------+
| 10 | 20.00 | 2 | 3 |
| 9 | 16.00 | 2 | 3 |
| 14 | 12.00 | 2 | 4 |
| 8 | 12.00 | 2 | 3 |
+----+-------+------+------+
4 rows in set (0.00 sec)

mysql> select * from tb1 order by a desc ,id desc limit 3;
+----+-------+------+------+
| id | a | acid | prid |
+----+-------+------+------+
| 10 | 20.00 | 2 | 3 |
| 9 | 16.00 | 2 | 3 |
| 14 | 12.00 | 2 | 4 |
+----+-------+------+------+
3 rows in set (0.00 sec)

使用order by id/unique_key 排序之后,前三个结果集是一致的10,9,14 。 结果集满足我们的需求。从而解决不确定性带来的问题。
2 是否可以去掉不必要的order by,这个是由业务逻辑决定的。

四 总结
DBA在和开发沟通/培训过程中要注意这一点 基于非唯一字段的排序 结果集是不确定的。如果业务逻辑对分页或者order by结果集有比较高的严格要求 ,请记得利用唯一键排序。

SUN的头像

PHP/Apache shutdown unexpectedly启动错误解释及解决办法

浏览 327

  在使用PHP的时候,偶然发现XAMPP窗口Apache的启动出现错误,出现以下的错误提示:
16:21:41 [Apache]
16:21:41 [Apache] Status change detected: running
16:21:42 [Apache] Status change detected: stopped
16:21:42 [Apache] Error: Apache shutdown unexpectedly.
16:21:42 [Apache] This may be due to a blocked port, missing dependencies,
16:21:42 [Apache] improper privileges, a crash, or a shutdown by another method.
16:21:42 [Apache] Check the "/xampp/apache/logs/error.log" file
16:21:42 [Apache]

  这个问题比较常见, 通常是80、443端口被占用
 通过运行cmd ,输入命令行 netstat -a 查看所有的被占用的端口;如下图:

  如图可知, 443的端口被占用了,导致Apache 无法正常启动;
  解决办法如下:
  (OS 10048)通常每个套接字地址(协议/网络地址/端口)只允许使用一次。 : make_sock: could not bind to address 0.0.0.0:443
或者后面是80端口被占用
  (OS 10048)通常每个套接字地址(协议/网络地址/端口)只允许使用一次。 : make_sock: could not bind to address 0.0.0.0:80 或[ : : ]:80
  一、最快的处理方法就是修改端口号:
  1、443端口被占用,apache无法监听443端口,该如何解决呢?
在/xampp/apache/conf/extra/httpd-ssl.conf
把Listen 443 修改为 444(可自定义)
  2、80端口被占用,apache无法监听80端口,该如何解决呢?
在/xampp/apache/conf/extra/httpd.conf
把Listen 80 修改为 88 (可自定义)
如果配置了vhosts的话请把httpd-vhosts.conf 中端口改为88(同上端口号)
  二、最直接的方法是关闭占用80、443端口的进程:
  1. 通过cmd中netstat -ano 看看本机80、 443端口被占用没 ----- --这里 可能会被其他程序占用如iis、虚拟机等
  2.通过cmd中打印tasklist,查找占用80、443端口的进程名称。
  3.taskkill /pid 端口号 杀掉此进程名称,XAMPP重启apache即可。

SUN的头像

define('DEV_CHECKDEMO', true)/在线上搭建ecstore测试站点

浏览 560

这几天一直纠结ecstore转移服务器后后台会员等大部分功能不能操作。
最后发现放开注释:define('DEV_CHECKDEMO', true)就可以了。
官方开发小组为了方便合作开发者,自Ecstore2.0.21版本以后,开放了便捷的线上测试的方法。

1、今后如果无特殊情况①,将不再发放ecstore临时激活码,需要搭建测试站点,请按照如下流程执行:

a、打开 【ecstore_path】/config/config.php

b、在【ecstore_path】/config/config.php中添加 define('DEV_CHECKDEMO', true)

c、执行a、b 连个步骤后,测试环境将不再需要激活码

d、该情况只针对ecstore产品,不包含erp和crm产品

注①,激活码特殊情况包含:

a、版本低于2.0.20的ecstore软件包

b、ecstore的其他版本,如ecstore1.2

c、如有以上情况,需向官方申请临时激活码

页面

订阅 RSS - 博客Q&A ON PERFUME | 香水香氛常见知识问答 | 前往
2016 最新表评 | 持续更新 | 前往

相关阅读

关于手表 关于手表那些事儿
关于红酒
关于搭配
关于香水