Use valid hostname to block google analytics referral spam

from:https://jonnyjordan.com/blog/how-to-stop-referral-spam-in-google-analytics/

1. Go to the reporting tab
2. On the side bar click on Audience
3. Expand technology
4. Select Network
5. Scroll down to the top of the results and sort by hostname

valid hostname

    1. Scroll down the host names and pick out all of your hostnames/domain names you use. Next you want to add them together separated by a line for example:
      jonnyjordan.com | www.jonnyjordan.com | blog.jonnyjordan.com
      This line is called REGEX (Regular Expression).

host name

    1. Go to the admin tab
    2. Select the view from the drop down you want to filter
    3. Click on filters

valid hostname filter

    1. 
Select new filter

new filter

    1. Enter a filter name like valid host names
    2. Select the custom filter button
    3. Check included *important
    4. Add the filter field as hostname
    5. For filter pattern paste your REGEX from earlier with your hostnames
    6. Verify the filter

valid hostname filter settings

    1. You should see the fake ghost referrals on the left and the right should be blank
    2. 
Save

verify-filter

Your Google Analytics should now be Ghost referral free, just the crawlers left to remove. This filter will work removing all of your ghost referrals in Google Analytics from now on, but it will not remove the history of them.

从0个用户到100个用户,这个过程叫做运营

我一直都没怎么受过系统的培训,平时只会写一点程序,最初学了三个月的程序后,我就基本上知道如何应对百万级访问量的处理。但是我始终不明白,很多站长是怎么做到每天几千人的访问量的,从他们那里感觉好像很轻松的样子。直到现在我才直到这个过程叫做运营。

而且做到几千访问量根本不轻松,是很难很难,大多数新手能做到每天三五百也算是佼佼者了。
看了一本书《从零开始做运营 入门篇》,写的还可以,理论较多。然后我又去作者的知乎,看了他的很多回答,发现做运营是一个劳力劳心的工作,相对于编程,会比较劳力。

微信nickname中的表情替换成*号存储到数据库

function replaceEmoji($nickname,$replaceStr="*")
{
    //$nickname = json_decode('{"nickname":"\ue131\u6f6e\u978b\uff5e\u9ad8\u6893\u94b0\ud83d\udc5f\ud83d\udc5f\ud83d\udc5f"}');
    //var_dump($nickname);
    $nicknameTmp         = json_encode($nickname);
    //var_dump($nicknameTmp);
    //$nicknameTmp = preg_replace("#(\\\ue[0-9a-f]{3})#ie","addslashes('\\1')",$nicknameTmp);
    $nicknameTmp         = preg_replace("#(\\\ue[0-9a-f]{3})#i",$replaceStr,$nicknameTmp);
    $nicknameNoEmoji     = json_decode($nicknameTmp);
    return $nicknameNoEmoji;
}

参考了别人的代码,正则替换成*号或者其他符号,微信传过来的是Unicode,但数据库无法存储,目前只做了最简单的处理。

产品讨论与Mr.Right

转载自:http://firecacada.blog.163.com/blog/static/7074376201110893622618/
我写博客有句口头禅:“最近某件事情令我印象深刻”。这句话的意思是,我的观点既不是一拍脑袋拍出来的,也未必能放之四海而皆准,只不过是特定环境下的经验总结罢了。有人称赞这是干货,我倒是担心,如果读者不理解此事件发生的“特定环境”,或许南橘北枳。

以上全是废话。

好吧,最近——其实也就是上周,又有件事情令我印象深刻。这要从一年前说起,涉及两位同事,姑且称之为A君与B君。一年前,我与A君、B君共同合作产品项目,当时A君有一套方案,我和B君有另一套方案,由于立场不同,见面就吵,整整吵了三个月,双方都精疲力竭。

后来,我对这场惨烈的战争总结道:A君是极简主义的信徒,重视每一个细节的产品逻辑,我和B君恰好是产品实用主义者,设计思路格格不入。我们之间并没有绝对的对错,一味用A君的方案,或B君的方案,都有收效,但强烈的风格差异使我们无法形成合力。尤其当时处于“权力均等”的微妙环境,谁都没有拍板权,意淫着用强大的逻辑论证来打败对方……其实大家都是专业人士,3分钟已经讲得透彻又明白。把3分钟的发言扩充到180分钟,措辞上花样翻新,长舌善舞,只能反复证明逻辑线的分裂。

那是一段黯淡的回忆。双方自以为对事不对人,但在激烈的路线分歧下,没法压住火气。我们从攻城战发展到街巷战,常常气呼呼地走进会议室,几小时后头上燃烧着火苗走出来。最后强扭的瓜不甜,勉强折腾上线的近乎于废品,合作破裂,联盟解除。A君按他的思路重新做一套,我和B君也奋然另起炉灶。

幸运的是,在单飞之后,双方迅速从沼泽里走了出来。A君以闪电之势发布了他的新功能,我这边则把之前说服对方的巨量精力,全部转移到了“创造力”身上。由于对抗氛围的解除,我和B君之间互相认同,互相启发,源源不断的好想法像被开启的泉眼一样,咕咚咕咚冒了出来,很快完成了比那废品更好5倍的解决方案,上线后口碑甚佳。

这时才发现,如果把产品设计比喻为百米赛跑的话,之前一直在大约25米的地方内讧,而且是从10米扭打到25米,一路抓扯。直到混乱状态解除,才飞也似地跑完了剩下75米。那么,之前发布的当然是款废品。

我于是感慨道,对嘛,产品项目需要搭档而不是敌人。五条不同的道路,有可能通向同一个正确的结果,但如果一路上拉拉扯扯,而不是互相扶持着奔跑如飞,简直恨不得摸把管制刀具出来,将拖后腿的同伴一刀砍死。我们当然需要被质疑,被挑战,但这应该是富有启发性的交流,而非针锋相对的争吵。后者往往是破坏性的,让你把注意力集中在不断自我强调上面,你的想法止步不前,在黑色的漩涡里打转,证明“我对,你错”的执念充满了你的大脑。

距离上次不快的经历已经过去了一年。这一年里我和B君的设计思路相近,默契居多,和A君也仍然是关系挺好的朋友。直到上周,我在一个新的需求领域,拿出了一套创新的产品方案,找到B君讨论。意外的是B君从一开始就断然道,不对,你是错的。

为什么?
Blablabla
我想了想,解释说,有可能是我没表达清楚意思,我再解释一遍吧。
不对,你是错的。
好吧,我明白分歧点在这里,我在白板上画个原型图,你看看能不能解决你的质疑。
不对,你是错的。

接下来的对话,就在不断的解释论证,不断的悍然否定来回弹射。个把小时后我们疲惫地离开会议室,我心想这套设计问题不大啊,你怎么就这么坚定地看衰它呢?想必B君也在默默抱怨,完全没有可行性的方案,你怎么就这么固执地看不穿呢?

又过了一天,我再次把B君拉进会议室。

我想明白了一点,这款新产品针对特定人群,是否因为你不属于这个人群,所以在几个关键点上与我有分歧?
和人群无关,你的想法破绽太大,可行性太差。
为什么?
Blablabla
Blablabla
Blablabla
Blablabla
Blablabla

又是两个小时劳而无功的争辩。这一次更糟糕,我的方案被B君评价为羊肠小路一条,而B君建议改行的方向,亦被我评价为毫无吸引力可言。最后两个人都有点冒火,觉得分歧太大没法沟通,也是我和B君第一次如此话不投机。

唉,沮丧,一时无语。后来偶然与A君闲聊,无意间提及此项目,得到夸奖说,很有意思啊。我一开心,就跟他详详细细讲了一遍,也包括与B君的分歧所在。A君对争议点摸不准支持哪边,但对整体构思很看好,大加称赞其中的亮点,并提出几条疑问,几条建议。我们热情洋溢地讨论了30分钟,积极的氛围发酵灵感——当晚我在原方案基础上又有重大突破。如果就此改造产品框架与重心,曾经与B君的分歧便不那么重要,或许能绕过去划向另一片蓝海。

猛然间想起一句老话:没有永远的敌人,也没有永远的朋友。产品交流需要正面的,启发灵感的氛围,而不是一场负面的,对抗性的辩论赛。如果同伴们能齐心协力地琢磨着怎样创造更好的东西,而不是急于捍卫已有的观点,往往能打开一个新世界。如同“我们怎样能做得更好?”“想法很赞,但还要努力解决如下问题!”这些话自然比“你错了,大错特错”更加能鼓励你向前去探索。何必停在原地内耗内战。

然而吊诡的是,同伴的友善或苛刻并不仅仅取决于专业素养、设计风格、交谈技巧或是性子缓急。你恰好和他想到一起去了,他就是你的Mr.Right,某个关键点在他看来刺眼的很,他就是你的Mr.Wrong。如A君与B君的角色对调——曾恨不得一刀砍死的辩论对手,转眼间又成了天使般的启迪与建言者。他会一直盯着自己眼中的漏洞?还是盯着这个方案的潜力?这可没法预料。虚一点讲,取决于彼君与产品方案之间的“相性”。

这就是机缘。

上周末,我去旁听天使湾15支创业团队的毕业典礼。3个月前曾听他们各自简介一番,此次看见成品,很吃惊地发现,当初被我瞄上的一两个项目上线后光华褪去,而当初没给我留下任何印象,甚至是完全不看好的三四个项目,却有着意想不到的,引人注目的亮点。产品只要方向并不错得离谱,往往靠它最锐利的一面去打动用户,而不是非得弥补上每个漏洞,“加长”比“补短”更加重要。

既然如此,一场“错错错”不绝于耳的,互相否定,充满负面气场的讨论,自然让人压抑消沉,主动性与创造力被麻绳捆得严严实实。遇见这样的Mr.Wrong,最好停止对话,转身与另一些有着产品专业素养的目标用户交流,希望能遇见支持与鼓励你的Mr.Right。

祝你能找到自己的Mr.Right。

——————————

转载随意,但请带上我的微博地址……
http://weibo.com/cicada