;

公号特烦恼:消失的阅读量 微信公号的打开率下降,这在自媒体圈子里已经是个公认的事实。更恐怖的是,有些公号在粉丝持续增长的情况下,绝对阅读量却在持续下降。 阅读量的下降,带来一系列反应,首先是自媒体的广告报价已经不像几年前那么日新月异了,其次是自媒体电商销量呈现出增长停滞的状态。公众号的三大变现方式(收费社群、广告、电商)中,后两种面临巨大挑战,至于收费社群的运营,也好不到哪去。 刚刚出现的美好年代,难道这么快就要结束了? 其实不止是微信公号,包括各个电商、视频网站、新闻媒体、各种移动应用APP的流量几乎都出现了令人心惊胆战的下降。为什么几乎所有的靠流量生存的应用都出现了流量下降的情况,那流量到底去哪了?实际上流量并没有消失,移动互联网的总流量依然还是增长的。 流量的本质是用户的时间 我们首先应该明白,流量的本质就是互联网用户的时间。所以流量其实就等于用户数与用户使用时间相乘。理论上来说,只要使用互联网的用户不断增长,或者用户单日使用互联网的时间增加,总流量就会持续增长。在一个流量持续增长的阶段,日子就很好过,每个应用获得流量的成本很低,看起来是那么美好。 中国在1994年获准加入互联网,从1995年张树新创立了首家互联网服务供应商瀛海威开始,中国互联网用户一直处于一个高速增长阶段。2010年后传统互联网出现增长放缓趋势,但是移动互联网时代的到…

互联网2016:流量都去哪儿了 2018年3月23日
;

没有有name属性,也没有checked <label><input type="radio" v-model="form.picked" value="已选中"/>已选中</label> <label><input type="radio" v-model="form.picked" value="未选中"/>未选中</label> data () { return { form: { picked: ‘未选中’ //和picked匹配的值会自动选中 } } 遇到的问题,以及解决 模板部分结构 <label><input type="radio" v-model="form.value1" value="是" />是</label> <label><input type="radio" v-model="form.value1" value="否" />否</label…

vue中input单选框radio 2018年3月20日
;

概述 首先需要确定是哪一张网卡的带宽跑满,可以通过sar -n DEV 1 5 命令来获取网卡级别的流量图,命令中 1 5 表示每一秒钟取 1 次值,一共取 5 次。 命令执行后会列出每个网卡这 5 次取值的平均数据,根据实际情况来确定带宽跑满的网卡名称,默认情况下 eth0 为内网网卡,eth1 为外网网卡。 使用 iftop 工具排查 1、服务器内部安装 iftop 流量监控工具: apt-get install iftop -y 2、.服务器外网带宽被占满时,如果通过远程无法登陆,可通过阿里云终端管理进入到服务器内部,运行下面命令查看流量占用情况: iftop -i eth1 -P 注:-P 参数会将请求服务的端口显示出来,也就是说是通过服务器哪个端口建立的连接,看内网流量执行 iftop -i eth0 -P 命令。 iptables禁止指定IP地址的网络连接 1.禁止特定IP的连接 要禁止一个IP,使用下面这条命令: iptables -I INPUT -s 111.50.1.27 -j DROP 要解封一个IP,使用下面这条命令: iptables -D INPUT -s ***.***.***.*** -j DROP 参数-I是表示 Insert (添加),-D表示 Delete (删除)。后面跟的是规则, INPUT 表示入站…

iptables处理ddos攻击 2018年3月20日
;

1.将bus注入到Vue根对象中 const bus = new Vue(); new Vue({ el: ‘#app’, router, template: ‘<App/>’, components: { App }, data:{ bus }  }); 2.组件A中触发事件 this.$root.bus.$emit(‘busevent’, 19); 3.组件B中监听事件 data () { return { valNow:” } }, mounted(){ let nowThis=this; this.$root.bus.$on(‘busevent’,function(val){ //此处this和当前this不同,所以在外部定义变量,以引用当前组件的this alert(val); nowThis.valNow=val; }) }

全局bus事件通信流程 2018年3月16日
;

1.查看当前php环境 打开phpinfo(); 搜索Architecture (x64|x86) #x86是32位 x64是64位 搜索Thread Safety (enabled|disabled) #enabled是TS版本,disabled是NTS版本 搜索PHP Extension Build (API20131226,TS,VC11) #api版本,VC11是编译器版本 根据图上配置信息,我们需要找的php扩展就是php 5.6 VC11ts-x64 2.下载php_redis.dll 地址一:https://pecl.php.net/package/redis/2.2.7/windows 地址二:https://windows.php.net/downloads/pecl/releases/redis/2.2.7/ 3.文件及配置 将下载的文件解压,然后复制php_redis.dll到C:\wamp\bin\php\php5.6.31\ext 然后编辑apache的php.ini扩展C:\wamp64\bin\apache\apache2.4.27\bin extension=php_redis.dll 重启wamp后到phpinfo()中查看 4.php连接并测试redis数据库 <?php $redis = new R…

wamp下redis安装及配置 2018年3月10日
;

1.父组件 <template> <div> <subcomponent :subdata="data"></subcomponent> </div> </template> <script> import subcomponent from ‘./subcomponent’ export default { name: ‘parentComponent’, components:{ ‘subcomponent’:subcomponent }, data (){ return{ data:” } } } </script> 2.子组件 <script> export default { name: ‘subcomponent’, props: [‘subData’], data (){ return{} }, watch:{ subdata:’showData’ }, methods:{ showData(){ alert(this.subdata); } } } </script> 其它:命名方式存疑

props引用流程及文件结构 2018年3月9日
;

场景:在父组件中表单提交数据,子组件中更新显示列表,子组件已经写完,再去添加prop略麻烦,尝试过location.reload()体验太差 模板部分 <recordDetail v-if="forceReload"></recordDetail> data部分 forceReload:true methods部分(表单验证成功后,先让组件消失,ajax返回成功后再让其显示) this.$validator.validateAll().then((msg)=>{ if(msg){ this.forceReload=false; //先强制组件消失 this.$ajax.get(‘/rest/admin/cases/create’) .then((res)=>{ this.forceReload=true; //强制组件再次渲染 }) .catch(function (error){}); }else{ this.$message({ message: ‘填写不完整!’, type: ‘warning’ }); } });

父组件不借助prop,暴力刷新子组件 2018年3月8日
;

示例数据 const animals = [ { "name": "cat", "size": "small", "weight": 5 }, { "name": "dog", "size": "small", "weight": 10 }, { "name": "lion", "size": "medium", "weight": 150 }, { "name": "elephant", "size": "big", "weight": 5000 } ] map() 定义和用法: map() 方法返回一个新数组,数组中的元素为原始数组元素调用函数处理后的值。 map() 方法按照原始数组元素顺序依次处理元素。 语法: array.map(function(currentValue,index,arr), thisValue) 示例:获取所有动物的n…

map(),filter(),reduce(),foreach()比较 2018年3月3日
;

段子是我国人民喜闻乐见的一种文艺形式,相声里叫包袱,古代叫笑话,随着微博和微信的兴起,用手机看段子日益成为劳动人民茶余饭后的一种娱乐活动。由于段子的影响力日甚,我国的文字工作者以及非文字工作者在创作和工作中,出现了所有创作形式都段子化的倾向,比如电影、软文、广告、知乎的回答、电视节目、培训、撕逼等各类工作。马伯庸老师曾经说过一个关于段子创作的三种典型模式:谐音误解、预期违背和同文异读。其实,这里有点问题的是,只有预期违背是典型的段子基本结构,谐音误读和同文异读都是形成预期违背的一种方法。 所谓预期违背,就是孙子兵法中的“以正合,以奇胜”,用正兵吸引住敌人(观众)注意建立预期,然后派奇兵端了敌人的老巢(观众的笑点)打破其预期,正所谓“出其不意,攻其不备”是也。(在孙子兵法中,两军对阵,将领至少要安排两支部队,一支为正,一支为奇,正奇变化无穷。能因敌变化而安排正奇的将领,才能占据致胜主动权,才能获胜。) 读了几千条段子,个人觉得几乎99%的段子都是“以正合、以奇胜”这种结构模式,下面具体详解。 排兵布阵:段子结构要讲究“正奇” 首先说一下人为什么会被逗笑。讲笑话和变魔术有些相似,关键是Surprise,出其不意,攻其不备。本来以为故事是这样的,然后发现其实是那样,哈哈哈。一个笑话由两部分组成,正兵(铺垫)和奇兵(包袱)。从功能上来说,正兵铺垫是为…

段子是如何编出来的 2018年2月19日
;

<ul class="top_bar"> <li class="top_cell" v-for="cell in 5" :class="{ ‘active’: cell === selected }" @click="choose(cell)"> {{cell}} </li> </ul> new Vue({ el:’.top_bar’, data:{ selected: null }, methods:{ choose:function (index) { this.selected = index } } });

v-for对应项添加active类 2018年2月13日
;

<template> <el-table :data="tableData" stripe border style="width: 100%"> <el-table-column prop="checkUnit" label="医院名称"></el-table-column> <el-table-column prop="checkName" label="检查名称"></el-table-column> <el-table-column label="查看详情"> <template slot-scope="scope"> <el-button size="mini" @click="infoList_detial(scope.row.id)">查看详情</el-button> </template> </el-table-column> </el-table> </template…

element中table单元格点击事件获取id 2018年2月10日
;

var o1 = { a: 1 }; var o2 = { b: 2 }; var o3 = { c: 3 }; var obj = Object.assign(o1, o2, o3);

Javascript 对象合并 2018年2月9日
;

“我原以为这和开直播一样,谈点经验,外带讲几段相声,没想到这么难啊。” 2017的下半年,也是知识付费人设崩塌事故期。8月,罗永浩宣布停更“创业课“,上面那句话,是媒体从罗永浩的停更信中读出的心声;9月,Papi酱也退出了分答社区;年底相继上线的“郭德纲首档音频脱口秀”、“咪蒙职场提升课”,反响普遍不高,甚至有用户要求退钱。 今年是知识付费发展起来的第二年,到底是用户变挑剔了,还是知识越来越水了? 大V知识课程为何会成为一个坑? “人设”,是近两年经济公司、明星和粉丝一起打造出来的。自互联网内容创业兴起,为了让自己在繁杂的信息中更具辨识度,打造属于自己的“人设”,也成为了许多内容创业者的共识。 10月底,一篇名为《罗振宇的骗局》的文章传遍网络,直指知识付费忽悠用户,不贩卖实质内容。随后,和菜头又发了一篇文章《罗振宇骗得还远远不够》,表示不赞同罗振宇的“知识服务商“定位,在他看来,更为精准的形容是”知识中间商“。实际上,成为中间商,确实是大多数内容创业者江郎才尽或者自我局限的对策之一,只是像罗振宇这样走出来的太稀少。 舟子是一位财经内容创业者,他在优酷上推出财经脱口秀节目,最多的时候有过几千万点击量。这种成绩在业内,也是个小V了。2015年底,他抱着试水的心态接受了某音频平台付费课程的邀请。制作第一季的时候,为了尽快在平台树立品牌,团队做得特别…

知识付费是如何从“共享经济”变成智商税的(转载) 2018年2月9日
;

筛选假设理论(Screening Hypothesis)简称筛选理论,又叫做文凭理论,是20世纪70年代初美国经济学家提出的视教育为一种筛选装置,以帮助雇主识别不同能力的求职者,将他们安置到不同职业岗位上的理论。创始人是迈克尔·斯宾塞和罗伯特·索洛(Robert Merton Solow)等。

筛选假设理论 2018年2月8日
;

安装: npm install –save vuex 引入: import Vuex from ‘vuex’ Vue.use(Vuex)

vuex安装 2018年2月8日
;

Session 的工作机制是:为每个访问者创建一个唯一的 id (UID),并基于这个 UID 来存储变量。UID 存储在 cookie 中,亦或通过 URL 进行传导。 前序: 首先要明白PHPSESSID看似多次刷新都不会改变其实是没有删除本地相关联的cookie,删除的方法 session_destroy();//删除服务器端的session文件 setcookie(session_name(),”,time()-3600,’/’);//删除本地相关联的cookie session_unset();//清空内存中的cookie或者是$_SESSION = array(); 然后再刷新相应的页面你就会看到PHPSESSID会发生变化了,根据此可以得:如果session文件已经创建则不重新生成PHPSESSID,否则需要重新生成,生成规则,就看下边喽……! 现在经过测试应该是不是检测session文件是否存在,而是检测PHPSESSID的cookie是否存在并且是否未过期!特此更正! 可能PHP开发者心中多少都思考过这么两个问题: 种植在客户端浏览器中的PHPSESSIONID会出现重复吗? PHPSESSIONID安全性如何,有没可能被黑客轻易的仿造呢? 带上这个问题,我稍微注意了一下PHP的源码后,疑…

PHP中Session ID的实现原理 2018年2月8日
;

一、默认机制,用磁盘文件来实现PHP会话。php.ini配置:session.save_handler = files 1、session_start() A、 session_start()是session机制的开始,它有一定概率开启垃圾回收,因为session是存放在文件中,   PHP自身的垃圾回收是无效的,SESSION的回收是要删文件的,这个概率是根据php.ini的配置决定的,   但是有的系统是 session.gc_probability =0,这也就是说概率是0,而是通过cron脚本来实现垃圾回收。 session.gc_probability =1 session.gc_divisor =1000 session.gc_maxlifetime =1440//过期时间 默认24分钟 //概率是session.gc_probability/session.gc_divisor 结果 1/1000, //不建议设置过小,因为session的垃圾回收,是需要检查每个文件是否过期的。 session.save_path =//好像不同的系统默认不一样,有一种设置是 “N;/path” //这是随机分级存储,这个样的话,垃圾回收将不起作用,需要自己写脚本 B、 session会判断当前是否有$_COOKIE[s…

彻底理解PHP的SESSION机制 2018年2月7日
;

PHP中,如果要获取SESSION数据,必须要有对应的session_id,session_id的获取方式有两种 1.基于客户端的cookie 2.基于url 先说第一种情况,基于客户端的cookie.服务器端的脚本在开启session后,会依据php.ini来存储session,下面列举一些 session.save_handler 定义存储和获取与会话关联的数据的处理器的名字。默认为 files。如果设定为files(session.save_handler = files),则采用的是php内置机制,如果想自定义存储方式(比如存储到数据库中),则使用session_set_save_handler()进行自定义设置 session.save_path 定义了传递给存储处理器的参数(注释1)。如果选择了默认的 files 文件处理器,则此值是创建文件的路径。默认为 /tmp,也可以修改,比如session.save_path = “e:/wamp/tmp”。也可以使用session_save_path()在脚本中设定(一定在session_start前设定) 举例 假设脚本是session.php session_save_path(getcwd()."/session_folder");//为…

PHP SESSION机制,从存储到读取 2018年2月7日
;

元认知,又称反省认知、监控认知、超认知、反审认知等,是指人对自己的认知过程的认知。

元认知 2018年2月6日
;

反智主义(anti-intellectualism),由美国历史学家理查德·霍夫斯塔特(Richard Hofstadter)于1962年出版的《美国生活中的反智主义》一书提出,该书描述了反智主义是如何贯穿于整个历史和“实用性的”美国文化,深入剖析了美国反智主义的历史渊源,说明教育,政治和商业等不同领域中知识分子与大众的矛盾。 反智主义的本质在于细致地定义智力与知识分子,引导大众成为一个积极维护理性,正义和真理的价值的人。反智主义属于对社会对大众的反思而得出的社会理论学说,并不属于哲学范畴。

反智主义 2018年2月5日
;

1.问题场景 表单页面,包含三个子组件页面,分别对应下一步,页面状态统一在父组件内管理 2.父组件代码 <step1 v-on:step="changeStep(‘step2’)" v-if="step==’step1’"></step1> <step2 v-on:step="changeStep(‘step3’)" v-if="step==’step2’"></step2> <step3 v-on:step="changeStep(‘step1’)" v-if="step==’step3’"></step3> import step1 from ‘./step1’ import step2 from ‘./step2’ import step3 from ‘./step3′ export default { name:’addFamily’, components:{ ‘step1’:step1, ‘step2’:step2, ‘step3′:step3 }, data() { return { step:’step1’ } }, methods: {…

子组件触发父组件事件 2018年2月3日
;

狭义而言,行为经济学是心理学与经济分析相结合的产物。广义而言,行为经济学把五类要素引入经济分析框架:1、“认知不协调-C-D gap”;2、“身份-社会地位”;3、“人格-情绪定势”;4、“个性-偏好演化”;5、情境理性与局部知识。

行为经济学 2018年2月2日
;

<div id="test"> <select v-model="selected"> <option v-for="yx in YX" :value="yx.text"> {{yx.text}} </option> </select> <select> <option v-for="zy in selection" :value="zy.text" :selected="$index == 0 ? true : false"> {{zy.text}} </option> </select> </div> new Vue({ el: ‘#test’, data: { selected: ‘计信院’, //AJAX接入数据时候,这里需要手动设置,否则报错 YX: [{ text: ‘计信院’, ZY: [{ text: ‘软件工程’ }, { text: ‘计算机科学与技术’ }, { text: "信息安全" }, ] }, { text: ‘商学院’, ZY: [{…

vue二级联动 2018年2月1日
;

大家都说某个东西好,应该是好的。这就是社交认证最简单的翻译。 在生活当中,这样的例子已经贯彻到每一个人的生活中,选餐厅,订酒店,交朋友等等,无处不在。 原因很简单,既然别人已经考察过,那应该没问题。 其实在每一个人生活中,都已经在潜意识的应用社交认证来选择和判断事物或问题。

社交认证 2018年1月31日