面向对象设计的SOLID原则

S.O.L.I.D是面向对象设计和编程(OOD&OOP)中几个重要编码原则(Programming Priciple)的首字母缩写。

SRP [The Single Responsibility Principle ] 单一责任原则
OCP [The Open Closed Principle] 开放封闭原则
LSP [The Liskov Substitution Principle] 里氏替换原则
DIP [The Dependency Inversion Principle] 依赖倒置原则
ISP [The Interface Segregation Principle] 接口分离原则
  1. 单一责任原则: 当需要修改某个类的时候原因有且只有一个(THERE SHOULD NEVER BE MORE THAN ONE REASON FOR A CLASS TO CHANGE)。换句话说就是让一个类只做一种类型责任,当这个类需要承当其他类型的责任的时候,就需要分解这个类。
  2. 开放封闭原则 软件实体应该是可扩展,而不可修改的。也就是说,对扩展是开放的,而对修改是封闭的。这个原则是诸多面向对象编程原则中最抽象、最难理解的一个。
  3. 里氏替换原则 当一个子类的实例应该能够替换任何其超类的实例时,它们之间才具有is-A关系(is-a 指的是类的父子继承关系,例如类D是另一个类B的子类(类B是类D的父类))
  4. 依赖倒置原则1. 高层模块不应该依赖于低层模块,二者都应该依赖于抽象 2. 抽象不应该依赖于细节,细节应该依赖于抽象
  5. 接口分离原则 不能强迫用户去依赖那些他们不使用的接口。换句话说,使用多个专门的接口比使用单一的总接口总要好。

 

为什么小米的饥饿营销总有人买单?

说起喜欢用饥饿营销的品牌,很多伙伴第一想到的就是小米,虽然小米的饥饿营销随着竞品的迭出而大失效果,但依然让人忘不了小米曾经的疯狂。

为什么小米的饥饿营销有那么多人买单?

本期就以小米为来说说饥饿营销背后的动机。

 

 

1、什么是饥饿营销?

“饥饿营销”,是指商品提供者造成产品人为地短缺,吊足消费者的胃口,让其购买欲望达到极点,以期达到调控供求关系、制造供不应求“假象”,维持商品较高售价和利润率的目的。关键点在于产品对消费者的吸引力,以及如何让消费者感受到供不应求的紧迫感。

饥饿营销策略必须在满足市场竞争不激烈、替代品少或者替代品性价比低、产品质量优异及有大量的品牌忠诚者的消费动机前提下发挥作用。

 

 

2、饥饿营销的实施条件

(1)市场竞争不充分

如果企业细分市场内竞争激烈,应用“饥饿营销”就有难度。因为在采取饥饿营销时,消费者会转移到其他竞争者那里去。为了在激烈的竞争中立于不败之地,企业就应该货源充足,每出现一位消费者就直接促成其购买行为。所以在这种情况下,就不应该使用“饥饿营销”这种策略(这也是小米现在饥饿营销行不通的一个原因)。

相反,如果企业细分市场内没有竞争,或竞争程度较低,市场状况为卖方市场时,这时企业处于主动地位,就可以采用“饥饿营销”策略。因为即使企业供货不足,消费者也不会转而消费其他产品,只能加剧消费者占有这种商品的欲望。

(2)消费者消费心理不成熟

消费者的购买动机有求实、求安、求廉、求同、求新、求美、求名七种动机。使用马斯洛需要层次理论,求实、求安、求廉动机是生理、安全等低层次需要的反映,求同、求新、求美是社会需要层次的反映,求名动机是尊重需要层次的反映。而能够应用“饥饿营销”并取得成功的动机主要有求同、求新、求美及求名这四个动机。

“求同”、“求新”、“求美”、“求名”本是消费者正常消费心理,但是消费者这种心理反应如果很容易被营销者的任何策略牵着走,那就说明当前消费者心理状态还不成熟,还不是靠理智来决定购买。而恰恰是消费者心理的这种不成熟状态为企业实施各种营销策略尤其是“饥饿营销”策略提供了条件。

(3)产品综合竞争能力较强

购买到物美价廉、性价比高的商品往往是大多数消费者最普遍的想法。产品质量水平高,就会使消费者乐于选择这种商品。一旦这种高质量的商品供不应求、价格又低于同类产品的时候,就会形成消费者的抢购。而消费者一旦开始对某种商品进行抢购,所有以前理智的购买心理都会消失,此时企业及时使用“饥饿营销”,也会为其带来无法预料的效果。

而在现代企业里,质量意识越来越强,企业更加重视商品质量水平。在提升企业产品质量时,其质量经营战略主要包括追求零缺陷、营造质量文化、开展质量教育与塑造质量形象等内容。这些都会为企业未来实施“饥饿营销”奠定基础。

 

 

3、小米手机的饥饿营销

2012年8月23日上午10点,小米手机1S首轮开放购买正式开始,官方给出的公告显示,20万台小米1S已经在29分36秒内被全部抢完,截止2012年10月10号,小米总销量超过500万台。而这500多万台手机从手机首台开放购买时间计算一共花了不到十个月的时间,每次开放购买都是在一分钟左右售罄,这是因为小米手机在开放购买日前提供网上预约服务,要真是到了开放购买的时问再去抢购,基本上是没有机会的。在中国这是亘古未有的手机销售记录,而且是由一个刚成立两年多的手机公司做到的。

(1)饥饿营销首先要把握饥饿“度”

饥饿营销在尺度把控上首先要注意的问题是:确定市场容量和需求情况。饥饿营销在实现前要对市场容量进行充分的调查与了解,充分了解需求大小,有多少人对此产品感兴趣,有购买需求。

其次,饥饿营销在实施过程中,需要保证产品或服务必须具有不可替代和复制的独特性,该商品具有其他同类商品不可替代的优势,只有这样饥饿营销才能实施。饥饿营销在一定程度上是企业在利用消费者信息不对称这一优势在实施营销策略。如果只是一味地吊起消费者的胃口,会使一部分消费者失去耐心,给其他竞争者有可趁之机。

(2)灵活应对市场

一方面市场是瞬息万变的,随着竞争的加剧,强劲的竞争对手也许能够提供更先进的产品和更优质的服务,企业在实施饥饿营销的时候要密切关注竞争对手的动向,只有知己知彼才能百战不殆。

另一方面消费者的购买需求也在不断发生变化,消费者购买行为的关键性因素也会发生不规则的变动,导致消费者发生感情转移,购买冲动发生转向。

因此企业营销人员必须密切关注市场环境的变化,尤其是竞争对手的营销策略的变化,以及由此引发的消费者的购买心理和购买行为可能的变化,提高企业的快速反应能力,制定切实可行的营销方案。

(3)加快产品与技术革新

企业实施饥饿营销尤其需要有强有力的品牌和优质产品作为支撑,只有在小断的产品和技术革新中才能与竞争者的产品有差异,才会引起消费者的持续注意,也才能更好地实施饥饿营销。

 

Destoon供应模块增加房产筛选功能

先看看完成后的效果图:

下面一步步来实现这样的效果。
首先我们把这个筛选模块的html结构写出来,如下:

<!--搜索区域开始-->
<div class="center">
<div class="search_area-top"></div>
<div style="POSITION: relative" class="search_area-center">
<div class="search_area-text" id="Tzone">
<h1>区域:</h1>
<ul>
<li class="selected"><a href="javascript:goSort('Tzone',0)">全部</a></li>
<li><a href="javascript:goSort('Tzone',1)">桂林</a></li>
<li><a href="javascript:goSort('Tzone',2)">上海</a> </li>
<li><a href="javascript:goSort('Tzone',3)">南宁</a> </li>
</ul>
</div>

<div class="search_area-text2" id="Tarea">
<h1>面积:</h1>
<ul>
<li class="selected"><a href="javascript:goSort('Tarea',0);">全部</a> </li>
<li><a href="javascript:goSort('Tarea',1);">500平米以下</a>
</li>
<li><a href="javascript:goSort('Tarea',2);">500-1000平米</a>
</li>
<li><a href="javascript:goSort('Tarea',3);">1000-1500平米</a>
</li>
<li><a href="javascript:goSort('Tarea',8);">1500平米以上</a>
</li></ul></div>
<div class="search_area-text2" id="Tprice">
<h1>租金:</h1>
<ul>
<li class="selected"><a href="javascript:goSort('Tprice',0);">全部</a> </li>
<li><a href="javascript:goSort('Tprice',1);">10元/平米以下</a>
</li>
<li><a href="javascript:goSort('Tprice',2);">10-15元/平米</a>
</li>
<li><a href="javascript:goSort('Tprice',3);">15-20元/平米</a>
</li>
<li><a href="javascript:goSort('Tprice',4);">20-25元/平米</a>
</li>
<li><a href="javascript:goSort('Tprice',5);">25元/平米以上</a>
</li></ul></div>
<div class="search_area-text2" id="Tfloor">
<h1>楼层:</h1>
<ul>
<li class="selected"><a href="javascript:goSort('Tfloor',0);">全部</a> </li>
<li><a href="javascript:goSort('Tfloor',1);">一楼</a> </li>
<li><a href="javascript:goSort('Tfloor',2);">二楼以上</a>
</li>
</ul>
</div>
<div class="search_area-text2" id="Tstructure">
<h1>结构:</h1>
<ul>
<li class="selected"><a href="javascript:goSort('Tstructure',0);">全部</a> </li>
<li><a href="javascript:goSort('Tstructure',1);">标准厂房</a>
</li>
<li><a href="javascript:goSort('Tstructure',2);">简易厂房</a>
</li>
<li><a href="javascript:goSort('Tstructure',3);">钢结构</a>
</li>
<li><a href="javascript:goSort('Tstructure',4);">其他</a>
</li>
</ul>
</div>
</div>
<div class="search_area-foot"></div>
</div>
<!--搜索区域结束-->

然后在skin/default/sell.css里,为此模块增加相应的css,如下:

/*For search nav*/
.search_area-top{background:url(image/searcharea_top.jpg) no-repeat; height:16px;}
.search_area-center{ border-left:1px solid #f4c0a7; border-right:1px solid #f4c0a7; background:#FFFFFF; padding-left:22px; line-height:20px;}
.search_area-center2{ border-left:1px solid #f4c0a7; border-right:1px solid #f4c0a7; background:#FFFFFF; padding-left:30px; padding-right:20px;}
.search_area-text{ overflow:hidden; height:100%; padding-top:5px; padding-bottom:5px;}
.search_area-text h1{ color:#6a6a6a; font-weight:bold; float:left; font-size:12px; margin:0px; padding:0px;}
.search_area-text ul{ margin:0; padding:0; list-style:none; float:left; overflow:hidden; height:100%; width:710px;}
.search_area-text li{ list-style:none; color:#6a6a6a; float:left; width:50px; padding-left:8px; padding-right:5px; white-space:nowrap}
.search_area-text li a{ list-style:none; color:#6a6a6a;}
.search_area-text li a:hover{ list-style:none; color:#ed6b2e; font-weight:bold; text-decoration:underline;}
.search_area-text li.selected{color:#ed6b2e; font-weight:bold;}
.search_area-text li.selected a{color:#ed6b2e;}
.search_area-text li.selected a:hover{color:#ed6b2e;}
.search_area-textdown{ overflow:hidden; height:100%; width:705px; padding-top:5px; padding-bottom:3px; background:#fff7f5}
.search_area-textdown ul{ margin:0; padding:0; list-style:none; float:left; overflow:hidden; height:100%;}
.search_area-textdown li{ list-style:none; color:#ed8d61; text-decoration:underline; float:left; padding-left:10px; padding-right:10px;}
.search_area-textdown li a{color:#ed8d61; text-decoration:underline;}
.search_area-textdown li a:hover{color:#ed8d61; text-decoration:underline;}
.search_area-textdown li.selected{color:#ed8d61; font-weight:bold;}

.search_area-text2{ overflow:hidden; height:100%; padding-top:5px; padding-bottom:5px;}
.search_area-text2 h1{ color:#6a6a6a; font-weight:bold; float:left; font-size:12px; margin:0px; padding:0px;}
.search_area-text2 ul{ margin:0; padding:0; list-style:none; float:left; overflow:hidden; height:100%; width:710px;}
.search_area-text2 li{ list-style:none; font-family:Verdana, Arial, Helvetica, sans-serif; color:#6a6a6a; float:left; padding-left:8px; padding-right:5px; white-space:nowrap}
.search_area-text2 li a{ list-style:none; color:#6a6a6a;}
.search_area-text2 li a:hover{ list-style:none; color:#ed6b2e; font-weight:bold; text-decoration:underline;}
.search_area-text2 li.selected a{color:#ed6b2e; font-weight:bold;}

.search_area-foot{background:url(image/searcharea_foot.jpg) no-repeat; height:18px;}

下一步,为此模块增加javascript代码来进行控制,如下:
(这里使用到了jquery,所以需要在template/default/sell/index.htm 页里先引入jquery 1.7版本;<script src=”http://ajax.lug.ustc.edu.cn/ajax/libs/jquery/1.7.2/jquery.min.js”></script>
)
下面添加控制的js代码:

function getQueryString(){
     var result = location.search.match(new RegExp("[?&][^?&]+=[^?&]+","g")); 
     if(result == null){
         return "";
     }
     for(var i = 0; i < result.length; i++){          result[i] = result[i].substring(1);      }      return result; } function goSort(name,value){ 	var string_array = getQueryString(); 	var oldUrl = (document.URL.indexOf("index.php")==-1)?document.URL+"index.php":document.URL; 	var newUrl; 	if(string_array.length>0)//如果已经有筛选条件
	{	var repeatField = false;	
		for(var i=0;i<string_array.length;i++){
			if(!(string_array[i].indexOf(name)==-1)){
				repeatField = true;//如果有重复筛选条件,替换条件值
				newUrl = oldUrl.replace(string_array[i],name+"="+value);
			}	
		}
		
		//如果没有重复的筛选字段
		if(repeatField == false){
			newUrl = oldUrl+"&"+name+"="+value;
		}
		
	}else{//如果还没有筛选条件
		newUrl = oldUrl+"?"+name+"="+value;
	}
	
	//跳转
	window.location = newUrl;
}

function setSelected(name,value){
	var all_li = $("#"+name).find("li");
	//清除所有li标签的selected类
	all_li.each(function(){
		$(this).removeClass("selected");
	});
	//为选中的li增加selected类
	all_li.eq(value).addClass("selected");
}

$(document).ready(function(){
	var string_array = getQueryString();
	for(var i=0;i<string_array.length;i++){
		var tempArr = string_array[i].split("=");
		setSelected(tempArr[0],tempArr[1]);//设置选中的筛选条件
	}
});

进入系统后台,在供应模块的模块设置里增加几个自定义字段,字段对应筛选模块的筛选条件:

因为我们是以get方式来提交筛选条件的,所以需要对sell/index.php做一些调整,把接收到的筛选参数加入到当前变量表中,
这样当module/sell/index.inc.php调用相应的index.htm模板时,可以以变量的方式在页面取到筛选条件的值,修改如下:

 <?php
define('DT_REWRITE', true);
require 'config.inc.php';
require '../common.inc.php';
extract($GET,EXTR_OVERWRITE);//筛选条件参数加入到当前变量列表
require DT_ROOT.'/module/'.$module.'/index.inc.php';
?>

接下来我们要做的就是根据筛选条件,刷新页面这一块的内容就行了:

这一块在template/default/sell/index.htm页面里是以标签的方式来调用内容的:
<!--{tag("moduleid=$moduleid&condition=status=3$dtype&areaid=$cityid&catid=$catid&pagesize=".$MOD[pagesize]."&page=$page&showpage=1&datetype=5&order=".$MOD[order]."&fields=".$MOD[fields]."&template=list-sell")}-->
所以我们只要把筛选条件拼接到condition里,就可以了,当然筛选条件还需要进行一些处理,这里我写死了,改成如下代码:

{php $condition = "status=3";}
{php $Tarea_array = array(1=>'czzmj<500',2=>'czzmj between 500 and 1000',3=>'czzmj between 1000 and 1500',4=>'czzmj>1500');}
{php $Tprice_array = array(1=>'price=10',2=>'price between 10 and 15',3=>'price between 15 and 20',4=>'price between 20 and 25',5=>'price>25');}
{php $Tfloor_array = array(1=>'floor=1',2=>'floor>=2');}
{php $Tstructure_array = array(1=>'标准厂房',2=>'简易厂房',3=>'钢结构');}


{if isset($Tzone)&&($Tzone!=0)}
{php $condition.=" and areaid=$Tzone";}
{/if}
{if isset($Tarea)&&($Tarea!=0)}
{php $condition.=" and $Tarea_array[$Tarea]";}
{/if}
{if isset($Tprice)&&($Tprice!=0)}
{php $condition.=" and $Tprice_array[$Tprice]";}
{/if}
{if isset($Tfloor)&&($Tfloor!=0)}
{php $condition.=" and $Tfloor_array[$Tfloor]";}
{/if}
{if isset($Tstructure)&&($Tstructure!=0)}
{php $condition.=" and structure=$Tstructure";}
{/if}

这样一个粗糙的筛选模块就制作好了。

国家网信办两条新规10月1日起施行 论坛社区用户“后台实名、前台自愿”

互联网未经实名认证不得跟帖
新华社北京25日电

记者 王思北 李亚红

国家互联网信息办公室25日公布《互联网论坛社区服务管理规定》,将规范百度贴吧、天涯网络等为代表的互联网论坛社区服务,对部分互联网论坛社区服务提供者通过有偿删帖、推送等牟取不正当利益的“非法网络公关”进行打击,自2017年10月1日起施行。

国家网信办相关负责人介绍,以百度贴吧、天涯网络、凯迪社区等为代表的互联网论坛社区平台,一直以来保持较高活跃度,为广大网民分享信息内容、讨论兴趣话题提供了便利。但从中国互联网违法和不良信息举报中心接受举报情况看,部分论坛社区平台存在淫秽色情、虚假广告、血腥暴力、侮辱诽谤、泄露个人隐私等违法违规信息,污染网络生态,扰乱互联网信息传播秩序,侵害公众利益。

对此,规定要求,互联网论坛社区服务提供者应当落实主体责任,建立健全信息审核、公共信息实时巡查、应急处置及个人信息保护等信息安全管理制度,不得利用互联网论坛社区服务发布、传播法律法规禁止的信息。

根据规定,互联网论坛社区服务提供者应当按照“后台实名、前台自愿”的原则,要求用户通过真实身份信息认证后注册账号,并对版块发起者和管理者严格实施真实身份信息备案、定期核验。同时,互联网论坛社区服务提供者及其从业人员不得通过发布、转载、删除信息或者干预呈现结果等手段,谋取不正当利益。

针对以往“疾病类贴吧被卖”等互联网论坛社区一些违规商业化运营、虚假广告给公民人身财产安全造成隐患的问题,规定首次明确互联网论坛社区服务提供者开展经营和服务活动,必须遵守法律法规,同时也要尊重社会公德,遵守商业道德,诚实信用,承担社会责任。

国家网信办相关负责人表示,欢迎广大网民继续对网上相关违法和不良信息进行监督举报,共同促进网络空间更加清朗。

又讯 国家互联网信息办公室25日公布《互联网跟帖评论服务管理规定》提出,网站要建立跟帖评论审核管理、实时巡查、应急处置等信息安全管理制度,及时发现和处置违法信息。

国家网信办有关负责人表示,这针对的是用户公开发布的信息,而不是个人通信信息,不会损害个人隐私;要求处置的是违法信息,也不存在妨碍言论自由问题。

网络跟帖评论已成为网民互动交流、表达意见、舆论监督的重要方式,但也出现了传播网络谣言、散布污言秽语、发布违法违规信息等不良现象。规定旨在贯彻网络安全法精神,促进互联网跟帖评论健康有序发展。

“网络水军”导致乱象丛生。国家网信办有关负责人表示,禁止跟帖评论服务提供者及其从业人员非法牟利,规定明确要求不得为谋取不正当利益或基于错误价值取向有选择地删除、推荐跟帖评论,不得利用软件、雇用商业机构及人员等方式散布信息。

规定明确要求,网站要按照“后台实名、前台自愿”原则,对注册用户进行真实身份信息认证,不得向未认证真实身份信息的用户提供跟帖评论服务。

当前,围观直播、看网络剧等时,弹幕日益成为网民网上交流的重要方式。规定要求加强弹幕管理,提供弹幕服务的网站要在同一平台和页面同时提供与之对应的静态版信息内容。

规定明确国家和省、自治区、直辖市互联网信息办公室应定期对跟帖评论服务提供者开展信用评估,建立信用档案和失信黑名单管理制度。

规定共十三条,对用户真实身份登记、个人信息保护、违法信息处置、用户行为规范、网站主体责任、属地管理责任、社会监督和法律责任等作了规定。该规定自2017年10月1日起施行。

(asp)jtbc1.0调用模块下最新分类文章列表方法

(asp)jtbc1.0调用模块下最新分类文章列表方法

打开commonincfilesmodule.asp
添加函数
//add

Function get_topcid(ByVal strgenre)
Dim trs, tsqlstr
tsqlstr = "select max(sortid) from jtbc_sys_sort where sort_genre='" & strgenre &"' and sort_hidden=0"
Set trs = conn.Execute(tsqlstr)
get_topcid = trs(0)
Set trs = Nothing
End Function

修改函数
Function itransfer(ByVal itype, ByVal itpl, ByVal ivars)
找到
Case "top"
tsqlstr = "select top " & ttopx & " * from " & tdatabase & " where " & tfpre & "hidden=0"
tsqlorder =" order by " & tidfield & " asc"
下面添加
Case "top_cid"
tclass = get_num(get_topcid(tgenre), 0)
tsqlstr = "select top " & ttopx & " * from " & tdatabase & " where " & tfpre & "hidden=0"
tsqlorder =" order by " & tidfield & " desc"

调用实例

{$=itransfer('top_cid', 'anli_img', 'topx=1;tnum=25;rows=2;genre=anli;')}

wordpress网站搬家方法

 

前提wordpress网站搬家,域名不变

在wordpress网站搬家之前,我们需要停用所有插件,以避免因插件原因导致搬家后,无法打开网站的问题;

搬家前,请先开通新网站主机,配置同原网站主机一致,至少PHP版本,mysql版本要一致;

wordpress网站搬家详细方法如下:

0.登录wordpress网站后台,停用所有wordpress插件;
1.打包原网站主机根目录下所有内容;
2.打包原网站主机mysql数据库;
3.上传打包的网站内容到新网站主机目录下,解压;
4.开通新网站主机mysql数据库,导入打印的原网站主机mysql数据库;
5.修改新网站主机目录下的wp-config.php文件中的数据库配置信息;
6.解析原域名到新网站主机IP;
7.登录wordpress网站后台,启用所有wordpress插件;

说明:如果无法登录wordpress后台,打开域名提示400错误,则说明域名解析未完成,请更换网卡中的dns配置,或等待2-48小时不等时间再次打开.

至此,wordpress网站搬家方法完毕.

一年卖出六个亿 这根泡椒凤爪凭啥这么牛

小小的一根泡椒凤爪,一年竟然卖出六个亿,这个产品究竟用了什么真经?更不可思议的是,这个一年卖出六个亿的产品,竟然是由一颗小小的泡椒带动起来的?

近日,有友食品披露了2016年年报。报告期内,有友食品完成营收8.27亿元,同比增长10.04%,其中泡椒凤爪产品营收6.30亿元,占比76.11%;实现归属于挂牌公司股东的净利润1.22亿元,同比增长13.56%;基本每股收益0.54元,同比增长12.50%。

小小的一根泡椒凤爪,一年竟然卖出六个亿!吓得小编,赶紧买了袋泡椒凤爪压压惊。

  一颗小泡椒创变成一个年入六亿元的产品

鲜辣酸脆的泡凤爪,我们现在可以随便买来吃。但鲜有人知的是,这个一年卖出六个亿的产品,竟然是一颗泡椒带动起来的。

泡椒,原本是重庆人做菜的一个小小的调味料,深受重庆人的喜爱。有友凤爪的创始人鹿有忠就寻思着,不妨创新一下,在泡椒上做点文章,开一家主营泡椒系列菜品的饭店呢?于是,回锅肉、鱼、牛蛙,甚至小菜都成了泡椒菜品,虽然让人感觉不可思议,但一经推出,便备受追捧。

看到泡椒菜品的魅力后,鹿有忠又突发奇想:“把肉泡了会是什么味道?”朋友们都笑他异想天开,鹿有忠却和厨师研究起来。煮熟的凤爪、猪耳朵、猪尾巴等被放进了泡菜坛子,推出后,泡椒凤爪异常火爆,不少人吃完还要打包带走。

看到越来越多的顾客要求打包带走,鹿有忠又开始动心思了:何不把它做成袋装食品,进行规模化生产,推向全国呢!鹿有忠当即决定,关掉多家饭店,集中精力研究开发能够长时间保鲜的袋装泡椒凤爪。最终,在经历了调味料,泡菜的命运后,泡椒凤爪摇身一变为形态快消化的真空袋装包装的休闲小零食。

  做品牌,争当第一股

开发出了能够保险的真空袋装的泡椒凤爪后,鹿有忠向国家知识产权局递交了与泡凤爪相关的发明专利申请,并在2001年7月正式获得授权。

有了核心专利技术“护身”,有友泡凤爪迅速占领了市场。尽管效仿者频出,但有友一直占据领头羊地位。目前国内生产泡凤爪等泡卤风味休闲食品的企业有 600 多家,但近三年来,有友每年销售收入都在10亿元左右,其中泡凤爪产品对销售收入的贡献率超过七成,销售收入遥遥领先。“有友”商标也被认定为“重庆市著名商标”、“中国驰名商标”。

2014年,更是登陆新三板,成就中国“凤爪第一股”。2015年,以市值28亿进军“IPO”。

 

 

  年入六个亿,“凤爪第一股”底气何在?

  1、深入人心的品牌

成立于1997年的有友食品,主营业务为泡卤风味休闲食品的研发、生产和销售,主要生产的产品包括泡椒凤爪、卤香火鸡翅、豆制品、花生及竹笋等,其中尤以泡椒凤爪广为人知。在四川重庆一带,有友食品几乎是泡椒凤爪的代名词。

有友泡椒凤爪已经形成了很强的品牌壁垒,占据了凤爪主要的市场份额,消费者对于品牌的认知度比较高。其次,与坚果、豆干等相比,泡椒凤爪是个相对比较小众的零食,更容易利用品牌影响力牢牢地抓住消费者。

  2、凤爪相比其他零食的差异化

从消费场景上,越来越多的人喜欢一边喝酒,一边吃凤爪。泡椒凤爪原先流行于四川重庆等地,而现在随着电商的兴起,以及有友食品在线下的布局,已经慢慢进军到全国市场。凤爪类似于鸭脖,许多女生看电视剧和电影时,都会买一点享用。而看球赛的男生,也喜欢吃。所以从消费场景上,凤爪在中国的消费场景类似于美国的薯片,是男女视觉享受中的零食搭配,因此能够受到全国男女老少的欢迎。

凤爪对比其他零食,具有口味差异化的特点。首先,其他像坚果,虽然也有三只松鼠,百草味这样的年轻品牌,但产品本身的口味差异性不大。而凤爪,不同品牌之间能够明显的感觉到口味不同。时间越长,用户对于某个口味的忠诚度会越高,这也是没有其他品牌能与有友抗衡的主要原因。

 

 

  3、口味普适化,在泡椒口味的基础上不断开发新品

虽名为泡椒凤爪,但泡椒凤爪并非只有一种口味。还有山椒味、酸菜味和椒香味三种。

泡椒凤爪口味较淡,适合作为平时的休闲小零食;椒香味辣劲十足,麻味爽口,色泽鲜艳,更适合作为伴酒食品搭配食用;酸菜味口感更重,搭配米饭食用鲜香诱人。相比单一的凤爪品种,新开发的椒香和酸菜味凤爪更好地满足了消费者多样化需求。

神农岛首席顾问娄向鹏曾在《大特产——让地方品牌卖遍全国》中写到:中国幅员辽阔,东西南北食品的口味口感差异巨大,南方吃淡,东方好甜,西部麻辣,北方口味厚重,辣味遍及全国,辣劲又各不相同。特产因某个区域而生,只适合比较小区域的消费者习惯,到了其它区域,常常成为发展的障碍。因此,口味口感要普适化。

在不失特色的前提下,对特色口味口感微调,将外区域消费者难以接受的口味口感稍加弱化,适当迁就全国其它地区消费者的接受度,才能扩大消费人群。

华擎Deskmini 110看着不起眼,但内有全球首台Mini-STX主板

ATX、MTX主板玩腻了,很多玩家都转向体积更小的mini-ITX平台了,那要是ITX平台还嫌大呢?NUC是个不错的选择,不过NUC主板是Intel定义的,基本上没扩展性了,没有DIY的乐趣。在NUC与ITX之间,Intel推出了5x5主板,它要比NUC主板略大,但比ITX还要小29%,又保持了一定的可扩展性,这个规格最终被定名为Mini-STX。华擎早在CES展会上就发布了首款Mini-STX主板H110M-STX,与之配套的是Deskmini 110电脑。


华擎基于STX平台的迷你电脑

有关mini-STX规格我们之前详细介绍过,它之前的名字是5x5,长宽分别是14x14.8厘米,介于NUC的10x10厘米及ITX的17x17厘米之间,但保留一定的扩展性,支持LGA插槽的CPU及SODIMM笔记本内存,I/O接口也更丰富,包括蓝牙、WiFi、SATA、2个USB 3.0、2个HDMI及千兆网卡接口等等。


5x5主板规格的特色


华擎推出首款mini-STX主板

华擎推出的H110M-STX主板是首款支持mini-STX规格的主板,基于H110芯片组,LGA1151插槽,支持最大65W TDP的Intel Core i/奔腾/赛扬处理器,支持2条DDR4-2133内存,最高容量32GB。

接口及扩展方面,H110M-STX主板支持M.2插槽,主要用于无线及蓝牙扩展。此外还支持2个SATA 3硬盘、1个M.2硬盘,接口则有2个USB 2.0、1个COM接口,视频接口支持VGA、HDMI及DP。

与之配套的是一台体积只有1.92L的mini电脑,如上图所示。

华擎早在CES展会上就展示过STX主板和平台了,只是之前没有报价,现在有德国媒体报道称整套平台的售价是135-140欧元,折合人民币约为990元左右,不过欧元价格没多少参考性,美元价格的话应该会更低,所以这套平台的售价还不算贵,小板控可以考虑。

使用vertical-align实现input和img对齐

将input和img放同一行,img标签总是比input高出一个头,非常难看。之前试过好多方法,都不行。后来在网站搜到最多的就是给img添加一个align="absmiddle"属性,这个方法似乎的确可行,但是不符合HTML标准。后来无意中发现同时给input和img添加vertical-align:middle就行:

 

input,img{vertical-align:middle;}

 

这样代码就会规规矩矩地水平对齐了。

织梦登录后界面空白变成白板的解决方法

dede安装完成后登录后台出现空白,经过分析代码,发现登录验证的时候用到了这个函数session_register() 原来我的php版本是5.4版本的,经过一系列的搜寻,发现这个函数在PHP5.4版本中已经被弃用了,已经被删除了。 也就是这个函数不再可用了。直接注释掉就可以了,不用进行注册就可以声明session。

另外的解决方法就是在include/userlogin.class.php 中声明一个函数

function session_register()

{

return true;

}