月度归档:2017年07月

centos 7 + php 7 + nginx + wordpress之yum最简单安装办法

安装eple库

rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm

安装webtatic库

rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

更新yum源

yum update

安装php7以及扩展

yum install php71w-gd php71w-pdo php71w-opcache php71w-fpm php71w-pecl-redis php71w-mysql php71w-mcrypt php71w-mbstring php71w-intl php71w-cli

安装nginx

yum install nginx1w -y

系统启动时自动启动nginx以及php-fpm

systemctl enable nginx php-fpm
systemctl start nginx php-fpm

修改php程序目录权限

chown -R apache:apache /data/web/www.c4ys.com/

修改ngingx配置(以为wordpress例)

vim /etc/nginx/conf.d/www.c4ys.com.conf

server {
    server_name  www.c4ys.com c4ys.com;
    root   /data/phpproject/www.c4ys.com;
    location / {
        index  index.html index.php;
        try_files $uri $uri/ /index.php?$args;
    }
    location ~ \.php$ {
        fastcgi_pass   127.0.0.1:9000;
        include        fastcgi_params;
        fastcgi_param  SCRIPT_FILENAME $document_root$fastcgi_script_name;
    }
}

golang 自动编译(live reload, auto reload, auto refresh, auto compile)比较

fresh – Build and (re)start go web apps after saving/creating/deleting source files.

Fresh is a command line tool that builds and (re)starts your web application everytime you save a Go or template file.

If the web framework you are using supports the Fresh runner, it will show build errors on your browser.

It currently works with Traffic, Martini and gocraft/web.

gin – Live reload utility for Go web servers

gin is a simple command line utility for live-reloading Go web applications. Just run gin in your app directory and your web app will be served with gin as a proxy. gin will automatically recompile your code when it detects a change. Your app will be restarted the next time it receives an HTTP request.

gin adheres to the “silence is golden” principle, so it will only complain if there was a compiler error or if you succesfully compile after an error.

realize – Go build system with file watcher, live reload and output streams. Run, build and watch file changes with custom paths

A Go build system with file watchers, output streams and live reload. Run, build and watch file changes with custom paths

Features

  • Highly customizable
  • Config your project Step by Step
  • Build, Install, Test, Fmt, Generate and Run at the same time
  • Live reload on file changes (re-build, re-install…)
  • Watch custom paths and specific file extensions
  • Watch by FsNotify or by polling
  • Support for multiple projects
  • Output streams and error logs (support for save on a file)
  • Web Panel (projects list, config settings, logs)

CompileDaemon – Very simple compile daemon for Go

Watches your .go files in a directory and invokes go build if a file changed. Nothing more.

percona mysql 5.7 初始化数据库密码

ubuntu 16.04通过apt安装percona mysql 5.7以后,默认数据库密码不知道。

查询官网告诉默认在$HOME/.mysql_secret,实际也找不到

以非安全模式安装,然后初始化

mysqld --initialize --insecure
mysql_secure_installation

《Start Small, Stay Small》程序员微型创业项目指南

《Start Small, Stay Small》这本英文书(目前没有中文版)是由Bob Walling编写,亚马逊评价4.5星。Bob是微型创业者的标杆式人物,作者已经成功构建了几十个软件项目,过着自己独立自由的生活。这次分享将为你解读这边好书。

如果你是个人开发者或者是几个人的小团队尝试做一些项目,这本书能帮助你发现一个好的想法,验证市场可行性等。目标读者比较适合开发者,因为作者也是一个程序员,从一个开发者为中心去实现微型创业的目标。

一、微型创业者

微企创业者更倾向于生活方式的选择(自由,收入独立,工作地自由),对自己的生意会更加兴奋和有挑战的欲望。或者是追求一种平等,对自己所做的事有更大的掌控力。做一个微型创业者是挺有意思的,但是这是建立在数百小时认真做事的基础上的,需要我们按照一定的策略和方法踏实践行。

一个开发工程师具备在市场上运营一个产品的能力是很难得的,也是有竞争力的。一个微型创业者既是开发人员、也是站长、也是市场人员,需要有一个创业者的视角来看待你要做的项目。

一项研究表明,做下面3件事可以大大增加你做成事的可能性。

  • 写下你的目标 – 写下目标比没有写的有更大的成功可能性
  • 公开承诺 – 跟你周围的朋友承诺会有更大的成功几率
  • 对自己的事负责 – 发周报更新你的进展给你的朋友会有更大的成功可能性

我们首先要具备一个清晰的概念—- 市场比你的产品要重要的多
一个没有市场的软件应用仅仅是一个产品而已。大部分的开发者首先是从做一个产品出发,却很少更多的考虑怎么把产品触达到用户。

这是我身边同事的一个例子,他当时做了一个淘宝订单管理的SaaS工具,大概做了一年的时间,但是当一年后上线时,淘宝说类似的工具太多,调整了政策,就没上成。一年的时间开发,才知道这个需求是不成立的,这样做的产品的代价太大了。

二、 如何找到适合你的小众市场?

产品成功的最重要因素不是创始人、不是市场的运营也不是产品。而是是否有一群人愿意付费购买。

为什么选择小众市场?

1、小众市场用户更集中

大部分开发人员往往是你有一个很棒的点子,然后花了几个月去实现它,上线后却发现没有人愿意购买。极端一点,你甚至可以把一个垃圾一样的产品卖给极端饥渴的市场而且还能赚钱。
举个例子,下面四种,你会更愿意买哪一本?

  • 一本关于市场营销的书
  • 一本关于产品市场营销的书
  • 一本关于软件市场营销的书
  • 一本关于小众软件产品的市场营销的书,由一个小的创业团队编写,并且销量巨大

我想你会选择第四个。
从这个小例子里应该可以了解到,做小众市场依然是有巨大的空间,并且越聚焦越容易做出利润。很简单— 如果你能找到一小群人并且满足他们的需求,你就可以赚到钱。

你是选择把你的软件的卖给小众市场里只有5000人的100%,还是卖给有50000人的10%? 他们同样是5000人。
正确的选择是:5000人的100%
为什么?向这5000人营销的成本更低,而且这些人喜欢待在相同的地方,也可能是一个网站、一个论坛、一个博客或者是一本杂志。竞争压力也会小很多。

2、小众市场的广告更有效

比如:用Google的AdWords搜索关键字“travel”,预估会有3百万一个月的展示量,大概会$1.75一个点击。大概需要$146,000 – $239,000预算来覆盖这个关键词的前3个展示。
那估算一下,上个月在Google上,如果5000人搜索“Oregon(俄勒冈州) travel”会是什么样呢?大概$1.25一次点击,花费$110-$180就可以覆盖这个关键词的一个月的展示,这样的话花费更少,而且点击你广告的人,更加可能是你的目标用户。

3、 更小的市场竞争

Nota Bene是一个做文字排版的产品,可以卖到$399,而微软的Office是$79,Notea Bene面向的是学术界的用户,可以很方便的支持引用目录和论述,而Office是满足不了这部分小众用户的需求的。
如果在一个小众市场里的有$100的空间,而你没有发现像微软这样的大公司。那么这样的小众市场是有很大的成长空间的。竞争会小很多。

4、 更大的利润空间

Nota Bene并不容易使用,功能也不够强大,但是为什么价格会这么高?因为Nota Bene是唯一做学术领域文字排版这个小众市场的产品。

5、 小众市场不适合大公司的营销

你对比过纽约时报上的广告和你当地报纸上的广告的不同吗?
小众市场更适合特定人群的需求;大公司没有这样专门的人才或者人力来做这方面的营销

6、 更容易取得信任

在小众市场里你更容易被人记住。
在传统的营销里有个理论,当你的产品有7次触达的时候,人们才会记住你。但现在这个时代,明显不同了。当你周围的朋友向你推荐一个电影,你会选择性忽略它,但第二次提及的时候,你会产生好奇,第三次被提及的时候,这时候就会放到我的Netflix里了。对小众市场的产品来说,更是如此。

寻找你的小众市场

  • 从你喜欢的领域着手
    看看你平时关注的领域有哪些?体育、学术、艺术、雕刻还是健康?
  • 从你周边开始
    有哪些是你了解的朋友或者你周边人了解的行业,职业,解决他们的痛点
  • 借鉴
    去这些网站里你可以参考下,看看别人都有哪些点子
    http://ycombinator.com/ideas.html
    http://www.ahbbo.com/ideas.html

你也可以去国家统计局网站上看下相关的数字,或者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”

构建一个最小的销售网站

确定了你的细分市场之后,怎么来检验你的产品是否有用户愿意购买呢?可以通过一个迷你站点来帮助你。
通过下面这些步骤具体操作:

  • 1、 从你的想做的产品中选择最吸引你的来做
  • 2、 构建你一个迷你站点,包括2到3个页面
    • 首页
    • 产品介绍
    • 定价&注册
  • 3、 你的首页和展示产品页需要包含产品的截图(这个页面不一定真的实现出来,你可以找设计师仅仅做个图片出来),一些功能特性的描述,产品信息。一个try/buy的按钮。
  • 4、 如果你的产品可以下载并少于$40, 引导用户去点击“Buy Now”
  • 5、 如果你的产品可以下载并大于$40,需要引导用户点击“免费试用”按钮
  • 6、 如果你的产品是一个SaaS或者移动应用,引导用户点击“购买”
  • 7、 创建AdWords广告,并设置流量到你的站点
  • 8、 当有人点击“试用”或者“购买”,用Google的AdWords来跟踪转化,并提示用户你的产品正在开发当中。希望他们留下邮箱,会在产品上线的时候及时通知。他们可能留下邮箱,也可能不会。没关系,你需要通过AdWords来知道哪些关键字的转化是最有效的,每个转化大概需要花费多少。

你可能会觉得在没有产品的情况下,对用户这样不太好。但是你要知道,网上的用户如果对你的产品不感兴趣,他们是不会点击购买或者试用的。而真正有兴趣试用你的产品的人,也会等上几个月的时间来等待你的上线的。
同时你获得了可以衡量的参考来知道哪些关键字是最有效的。
在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。

雇人的价格参考如下:

  • 基于单个任务 — “($3-10/hour 海外, $12-50/hour 美国)”,需要明确完成时间点和花费时间。
  • 兼职 —- “($2-7/hour 海外, $10-40/hour 美国)”
  • 全职 — “($1-5/hour 海外, $8-35/hour 美国)”

多年来,雇佣最有效的虚拟助理来自菲律宾,因为他们英语沟通顺畅,这方面服务的人的基数比较大,达到的效果也符合预期。
在中国国内大家可以去万能的淘宝来找类似的虚拟助理或者猪八戒这样的网站来找到虚拟助理来帮助你。

以上就是这次分享的主要内容,作为一个开发者,我们很多时候想尝试自己做一个产品,并产生价值。这本书重要的是从生活方式上给了我们开发人员一个选择,那就是未来我们也可以考虑以微型创业者的身份来生活。做自己喜欢的产品,通过运营,变现并盈利。在现在这个时代,每个人都是自由人,不局限于公司、组织和团体也能赚到钱。利用我们自己的技能和聪明才智,是有机会实现自己的财富自由的。

本书从如何确定一个小众市场?怎么来实现你的想法?如何做好营销和流量?怎么来利用虚拟助理?这几个方面来帮助我们梳理一个小众产品的实现。希望给打算自己做东西和已经做东西的程序员们打开一扇小窗,了解我们是微型创业者,关注小众市场,是可以实现赚钱这个小目标的。

注:这本书的电子版和纸质版可以从网站上购买到(官网:http://www.startupbook.net/ ),电子版是$19美元,运到国内的纸质版大概是¥245

 

http://liujinkai.com/2017/06/01/start-small-stay-small/

golang的包管理工具

dep – Go dependency tool

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.

glide – Package Management for Golang https://glide.sh

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.

Golang Dep

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.

Features

  • Ease dependency management
  • Support versioning packages including Semantic Versioning 2.0.0 support. Any constraint the github.com/Masterminds/semver package can parse can be used.
  • Support aliasing packages (e.g. for working with github forks)
  • Remove the need for munging import statements
  • Work with all of the go tools
  • Support the VCS tools that Go supports:
    • git
    • bzr
    • hg
    • svn
  • Support custom local and global plugins (see docs/plugins.md)
  • Repository caching and data caching for improved performance.
  • Flatten dependencies resolving version differences and avoiding the inclusion of a package multiple times.
  • Manage and install dependencies on-demand or vendored in your version control system.