ubuntu 16.04通过apt安装percona mysql 5.7以后,默认数据库密码不知道。
查询官网告诉默认在$HOME/.mysql_secret,实际也找不到
以非安全模式安装,然后初始化
mysqld --initialize --insecure mysql_secure_installation
ubuntu 16.04通过apt安装percona mysql 5.7以后,默认数据库密码不知道。
查询官网告诉默认在$HOME/.mysql_secret,实际也找不到
以非安全模式安装,然后初始化
mysqld --initialize --insecure mysql_secure_installation
git config --global url."git@git.oschina.net:".insteadOf "https://git.oschina.net/"
cat ~/.gitconfig
[url "git@github.com:"]
insteadOf = https://github.com/
《Start Small, Stay Small》这本英文书(目前没有中文版)是由Bob Walling编写,亚马逊评价4.5星。Bob是微型创业者的标杆式人物,作者已经成功构建了几十个软件项目,过着自己独立自由的生活。这次分享将为你解读这边好书。
如果你是个人开发者或者是几个人的小团队尝试做一些项目,这本书能帮助你发现一个好的想法,验证市场可行性等。目标读者比较适合开发者,因为作者也是一个程序员,从一个开发者为中心去实现微型创业的目标。
微企创业者更倾向于生活方式的选择(自由,收入独立,工作地自由),对自己的生意会更加兴奋和有挑战的欲望。或者是追求一种平等,对自己所做的事有更大的掌控力。做一个微型创业者是挺有意思的,但是这是建立在数百小时认真做事的基础上的,需要我们按照一定的策略和方法踏实践行。
一个开发工程师具备在市场上运营一个产品的能力是很难得的,也是有竞争力的。一个微型创业者既是开发人员、也是站长、也是市场人员,需要有一个创业者的视角来看待你要做的项目。
一项研究表明,做下面3件事可以大大增加你做成事的可能性。
我们首先要具备一个清晰的概念—- 市场比你的产品要重要的多
一个没有市场的软件应用仅仅是一个产品而已。大部分的开发者首先是从做一个产品出发,却很少更多的考虑怎么把产品触达到用户。
这是我身边同事的一个例子,他当时做了一个淘宝订单管理的SaaS工具,大概做了一年的时间,但是当一年后上线时,淘宝说类似的工具太多,调整了政策,就没上成。一年的时间开发,才知道这个需求是不成立的,这样做的产品的代价太大了。
产品成功的最重要因素不是创始人、不是市场的运营也不是产品。而是是否有一群人愿意付费购买。
大部分开发人员往往是你有一个很棒的点子,然后花了几个月去实现它,上线后却发现没有人愿意购买。极端一点,你甚至可以把一个垃圾一样的产品卖给极端饥渴的市场而且还能赚钱。
举个例子,下面四种,你会更愿意买哪一本?
我想你会选择第四个。
从这个小例子里应该可以了解到,做小众市场依然是有巨大的空间,并且越聚焦越容易做出利润。很简单— 如果你能找到一小群人并且满足他们的需求,你就可以赚到钱。
你是选择把你的软件的卖给小众市场里只有5000人的100%,还是卖给有50000人的10%? 他们同样是5000人。
正确的选择是:5000人的100%
为什么?向这5000人营销的成本更低,而且这些人喜欢待在相同的地方,也可能是一个网站、一个论坛、一个博客或者是一本杂志。竞争压力也会小很多。
比如:用Google的AdWords搜索关键字“travel”,预估会有3百万一个月的展示量,大概会$1.75一个点击。大概需要$146,000 – $239,000预算来覆盖这个关键词的前3个展示。
那估算一下,上个月在Google上,如果5000人搜索“Oregon(俄勒冈州) travel”会是什么样呢?大概$1.25一次点击,花费$110-$180就可以覆盖这个关键词的一个月的展示,这样的话花费更少,而且点击你广告的人,更加可能是你的目标用户。
Nota Bene是一个做文字排版的产品,可以卖到$399,而微软的Office是$79,Notea Bene面向的是学术界的用户,可以很方便的支持引用目录和论述,而Office是满足不了这部分小众用户的需求的。
如果在一个小众市场里的有$100的空间,而你没有发现像微软这样的大公司。那么这样的小众市场是有很大的成长空间的。竞争会小很多。
Nota Bene并不容易使用,功能也不够强大,但是为什么价格会这么高?因为Nota Bene是唯一做学术领域文字排版这个小众市场的产品。
你对比过纽约时报上的广告和你当地报纸上的广告的不同吗?
小众市场更适合特定人群的需求;大公司没有这样专门的人才或者人力来做这方面的营销
在小众市场里你更容易被人记住。
在传统的营销里有个理论,当你的产品有7次触达的时候,人们才会记住你。但现在这个时代,明显不同了。当你周围的朋友向你推荐一个电影,你会选择性忽略它,但第二次提及的时候,你会产生好奇,第三次被提及的时候,这时候就会放到我的Netflix里了。对小众市场的产品来说,更是如此。
你也可以去国家统计局网站上看下相关的数字,或者58同城等网站上寻找一些小众市场人群,为他们提供产品服务。
比如作者博客大概每个月会有60个人通过关键字“make your own magazine cover”来到他的网站,而这篇文章是他2005写的。作者从来没有想到过人们会有这方面的需求,
如果以这个需求点出发,做一个产品。你可以让用户付费下载你的APP, 或者是一个网站。雇人来制作一些模板和好的设计。允许用户免费制作封面,但是要花$0.99美金导出成PDF格式,
$4.99美金得到一个印刷品(也可以寄送到朋友),$9.99一年内可以不限量制作PDF格式。甚至$19.99美元制作一件T恤。
每个人都可以用关键字工具找到这样比较好的小众市场,并且实施起来比较快。最好的小众市场用雷达是可以探测到的,但是你必须行动起来并做一些工作在找到它们之前。
这里补充一个亦仁(推荐他的小密圈:生财有术)的一个通过关键词查找需求的例子:
在资源有限的情况下,常用的挖掘痛点方式是从互联网巨头产品周边挖掘出一些痛点。对于任何一个大的互联网产品,都有很多产品需求点。下面通过Instagram上找到真实痛点和产品机会的例子。
第一步、先Google搜索『Instagram』,在Google的下拉框和推荐搜索词提示了下面几组词. “Instagram download”、“Instagram for pc”等关键词
第2步、除了『instagram download』其他词看起来都很普通。Google这个词看看有什么机会,除了最后两个词『instagram download video』、『 instagram download pictures』,其余的搜索官方都已经满足了需求。
第3步、继续Google『instagram download pictures』,在搜索结果的第一页出现了6个解决此痛点的小工具。点开排名第一的网站,功能和模式都比较简单,直接通过输入Instagram图片的链接就可以将图片直接下载下来,盈利方式是Google Adsense广告系统。
第4步、用SimilarWeb(网站流量数据统计插件)查一下,每月120万访问量,每日4万访问量。 按照千次访问2美元的收入来估算,此网站估计每天收入80美元,每个月收入2400美元,每年收入28800美元,约人民币20万元。
作为一个自己构建的创业项目,你需要找到已经有人在找你的产品的市场,甚至是没有产品的市场。因为创造需求是代价很大的,大公司才玩的起。我们这里讲的项目主要是讲线上的项目。
关注转化率是必须的,能了解你的构建是否可行。
举个例子,如果你售卖$10的产品,一般网站的转化率在5%左右,你需要1000个访问才能达到一个月$500
1000×0.5x$10=$500
这里面给一个参考:
如果你的定价在$1至$50之间,那么你的转化率大概在1%至4%;
如果你的定价在$50至$1000之间,那么你的转化率在0.5%到2%
那倒推的话,你就可以大概确定知道需要多少的流量来达到你的销售目标,假设我的定价是$200, 转化率是0.5%, 达到月销售$1000的目标的话就需要
“1,000 visitors × .005 × $200 = $1,000”
确定了你的细分市场之后,怎么来检验你的产品是否有用户愿意购买呢?可以通过一个迷你站点来帮助你。
通过下面这些步骤具体操作:
你可能会觉得在没有产品的情况下,对用户这样不太好。但是你要知道,网上的用户如果对你的产品不感兴趣,他们是不会点击购买或者试用的。而真正有兴趣试用你的产品的人,也会等上几个月的时间来等待你的上线的。
同时你获得了可以衡量的参考来知道哪些关键字是最有效的。
在100至200人访问了你的网站之后,看看“试用”和“购买”的数据。假设有2%到5%的人点击了“试用”。点击“试用”的这些人中的40%可能会有意愿完成购买。
通过这种方式需要你投入一些时间和钱。但是你要知道,如果你投入了8个小时来做这个测试工作,你会有足够的信心来在接下来的几个月时间里来开发完成你的产品。如果测试不理想,也会节省你数百小时的投入来开发一个根本没有人愿意使用的产品。
不要完全相信像Facebook、Twitter上的创业公司的营销文章。很多方法都不适合你所面对的市场。
强调多次都不为过:只有特定的营销策略会对你的项目有利。这些策略也会改变,取决于你所在的小众市场。
好的流量是访客跟你的目标用户非常接近,而且他们了解并信任你。
那些你邮件交流过多次的用户显然比一般流量到你网站的用户转化率更高。相差10倍都不止。这也是高质量的好处。
很难说哪种流量适合所有的网站。但是基于作者的这些年的经验。流量的策略大概分成长期持续策略和补充策略
1、邮件
2、博客、播客、视频blog
3、自然搜索流量
1、社交化媒体
2、点击广告
3、论坛
4、产品发布会
5、Affiliate程序
6、其它
重要的是明白,投入时间在Twitter和Facebook上确实比较有意思,而且能带来一些流量。但是构建长期、可持续的流量才是最重要的。
通过邮件、blog或者podcast触达用户是最好的方式。我推荐你至少使用其中一个。
最后,SEO是必须的,创建每个页面的关键词列表并不断优化你的搜索的排名。
虚拟助理的好处能价值最大化你的时间。如果你的时薪是50$/hour,你可以用$6/hour的价格支付给虚拟助理一些任务。这些省下来的时间你可以创造更有价值的事情,像开发新的功能或者市场营销。一些可操作性的工作让创业者自己去做,是非常不划算的。
那些虚拟助理在这些年里已经帮我节省了数百个小时。
不要陷入什么事都自己做的陷阱当中。你现在是一个企业家。
举一个作者的例子:
2009的时候,我打算构建一个微型创业者的研讨会。我需要联系许多的博主来参加这次会。我自己有一个博客列表,可以通过发邮件主动联系他们。但是除了这些,我知道网络上还有很多的博主是我想邀请的。但是我又不想花太多时间来找他们的联系方式。这时候就要考虑虚拟助理了。
我制定的任务是找到排名前1000的技术博客里,关注微型创业领域的人。通过Google spredsheet来整理出他们的博客地址,博客名称和联系邮箱。最后虚拟助理确定了28个最适合的博客。对我来说已经最够了。
通过这些联系方式,发送我个人有针对性的个人邮件,达到了我的预期。这个搜索工作仅仅花费了我$12。
雇人的价格参考如下:
多年来,雇佣最有效的虚拟助理来自菲律宾,因为他们英语沟通顺畅,这方面服务的人的基数比较大,达到的效果也符合预期。
在中国国内大家可以去万能的淘宝来找类似的虚拟助理或者猪八戒这样的网站来找到虚拟助理来帮助你。
以上就是这次分享的主要内容,作为一个开发者,我们很多时候想尝试自己做一个产品,并产生价值。这本书重要的是从生活方式上给了我们开发人员一个选择,那就是未来我们也可以考虑以微型创业者的身份来生活。做自己喜欢的产品,通过运营,变现并盈利。在现在这个时代,每个人都是自由人,不局限于公司、组织和团体也能赚到钱。利用我们自己的技能和聪明才智,是有机会实现自己的财富自由的。
本书从如何确定一个小众市场?怎么来实现你的想法?如何做好营销和流量?怎么来利用虚拟助理?这几个方面来帮助我们梳理一个小众产品的实现。希望给打算自己做东西和已经做东西的程序员们打开一扇小窗,了解我们是微型创业者,关注小众市场,是可以实现赚钱这个小目标的。
注:这本书的电子版和纸质版可以从网站上购买到(官网:http://www.startupbook.net/ ),电子版是$19美元,运到国内的纸质版大概是¥245
Dep is a prototype dependency management tool. It requires Go 1.7 or newer to compile.
dep is NOT an official tool. Yet. Check out the Roadmap! Current status
Alpha. Functionality is known to be broken, missing or incomplete. Changes are planned to the CLI commands soon. It would be unwise to write scripts atop dep before then. The repository is open to solicit feedback and contributions from the community. Please see below for feedback and contribution guidelines.
Gopkg.toml and Gopkg.lock have reached a stable structure, and it is safe to commit them in your projects. We plan to add more to these files, but we guarantee these changes will be backwards-compatible.
Are you used to tools such as Cargo, npm, Composer, Nuget, Pip, Maven, Bundler, or other modern package managers? If so, Glide is the comparable Go tool.
Manage your vendor and vendored packages with ease. Glide is a tool for managing the vendor directory within a Go package. This feature, first introduced in Go 1.5, allows each package to have a vendor directory containing dependent packages for the project. These vendor packages can be installed by a tool (e.g. glide), similar to go get or they can be vendored and distributed with the package.
An official package manager has been started for the Go community. We view this as a good thing to bring everyone together around one solution. It’s currently pre-alpha so it’s not ready for prime time usage.
If you start to poke it you’ll see it has a similar style to Glide. While commands may have different names there are many of the same features such as semantic versions and ranges.
Our view is that Glide will be around until an official package manager is ready for production use by the masses. We support the common tool and look forward to the day it is capable of replacing Glide.
Execute tasks in parallel with a concurrency limit
An interoperable Golang port of the Ruby Que queuing library for PostgreSQL
goworker is a Go-based background worker that runs 10 to 100,000* times faster than Ruby-based workers.
goworker is compatible with Resque, so you can push your jobs with Rails and Resque, and consume them with Go in the background.
Machinery is an asynchronous task queue/job queue based on distributed message passing.
Have you ever wanted to write something that is highly concurrent, and performs as many tasks as you will let it, in parallel? Well, look no further, here is a guide on how to do just that, in Go!
Sidekiq compatible background workers in golang.
NSQ is a successor to simplequeue (part of simplehttp) and as such is designed to (in no particular order):
Web servers should focus on serving users as quickly as possible. Any non-trivial work that could slow down your user’s experience should be done asynchronously outside of the web process.
Worker queues are commonly used to accomplish this goal. For a more in-depth description of the worker queue architectural pattern, read the Worker Dynos, Background Jobs and Queueing article. Here we’ll demonstrate this pattern using a sample Go application using Que-Go and Heroku Postgres.
export http_proxy=http://127.0.0.1:8090
修改/etc/sudoers,添加:
Defaults env_keep="http_proxy https_proxy ftp_proxy"
unset http_proxy
采用swoole主要满足部分程序需要常驻内存和高性能的要求。
<?php
require_once('function.php');
$http = new swoole_http_server("0.0.0.0", 9501);
$http->on('request', function ($request, $response) {
$time = microtime(true);
$error_code = 0;
$error_msg = '';
$result = [];
try {
switch ($request->server['request_uri']) {
case '/test/':
$result = get($request);
break;
default:
$error_code = 1;
$error_msg = '请求url不正确';
break;
}
} catch (Exception $e) {
$error_code = 1;
$error_msg = $e->getMessage();
}
$time_new = microtime(true);
$response->header("Content-Type", "text/html; charset=utf-8");
$response->end(json_encode(
[
'code' => $error_code,
'msg' => $error_msg,
'time' => $time_new - $time,
'data' => $result,
]
, JSON_UNESCAPED_UNICODE));
});
$http->set(array(
'worker_num' => 4,
'reactor_num' => 4,
'daemonize' => true,
'pid_file' => __DIR__ . '/server.pid',
));
$http->start();
因为需要用到PHP的swoole扩展,所以运行脚本需要单独配置
; 配置swoole 安装说明:https://wiki.swoole.com/wiki/page/6.html
[swoole]
extension=swoole.so
cd php-service
php -c /usr/local/etc/php-service.ini server.php
kill -USR2 `cat server.pid`
kill `cat server.pid`
server {
root /data/wwwroot/;
server_name webservice.liebiao.com;
location / {
proxy_http_version 1.1;
proxy_set_header Connection "keep-alive";
proxy_set_header X-Real-IP $remote_addr;
if (!-e $request_filename) {
proxy_pass http://127.0.0.1:9501;
}
}
}
采用了ip2region的PHP扩展模式
php.ini配置
[ip2region]
extension=ip2region.so
ip2region.db_file=/usr/local/php/ip2region/ip2region.db
相关代码
$ip = $request->get['ip'];
return Ip2region::btreeSearchString($ip);