漫谈淘宝的那些规则-有关商品降权及如何处理

在淘宝玩,就要遵守规则,谁来制定规则?当然淘宝自己,他们指定了一套繁琐的规则来约束限制卖家,当然有好的也有怀的.就比如多个类目下的店铺搜索权重是小于单一类目的,也就是说淘宝不喜欢让你变成杂货铺,为什么? 试想一下如果一家很庞大的杂货铺发展起来后,所有的买家不管衣食住行都投向这一家店铺,淘宝的搜索谁来用?直通车谁来开?淘宝客喝西北风去? 所以,如果你的店铺里经营多种类目(比如衣服和鞋子)那么你的商品搜索权重将低于单一卖衣服的店或者单一卖鞋子的店.延伸一下,如果你开2个店铺,一个卖鞋子,一个卖衣服行不行?这样是可以的,但是有个前提,这2个店铺的掌柜旺旺不能使用一个IP,一台机器,如果你家一根网线一

seo优化基础站点伪静态及去掉keyword - 一介布衣

之前博客从来没有注意过SEO的问题,这个博客当时完全是为了练手玩一玩,自己用node.js 和 levelup数据库 搭建起来的,由于levelup 是完完全全的nosql数据库,除了key-value意外再没有其他东西,以至于一个索引都要自己维护,所以博客功能比较简陋,之前有留言板,当时后来被阿里云的客服提醒让关闭留言功能,为了让博客好好的活下去,我就暂时不开放留言版功能了,你懂得!1.页面模板是仿造zanblog的模板套上去的,当时套的并不完善,我修改的一些东西貌似ui都比较丑陋,勉强看吧,不会UI的程序员不是好产品经理.所以今天的第一件是就是把之前不完整的dom结构补齐,以前没有 foo

漫谈淘宝集市 - 中小卖家如何生存

其实和淘宝结缘已久,04年开始淘,那是大学的同学大都沉浸的网游的乐趣中,但我天生对游戏不太感冒,所以对网站制作,网购起了很大的兴趣,我记得每逢周五舍里兄弟们去网吧包宿的时候,我尽然能琢磨一晚如何建站,那时就是去找免费的空间,边学边写html,那怕是一个小小的页面效果都能兴奋半天.....(也许是老了,竟然开始怀旧了)为了带小孩,媳妇在家做起来全职太太,所以就把我之前的一个淘宝店经营起来了,打磨时间说不定还能赚点小孩的零花钱(现在发现,这也许还是个妄想)中小卖家在水深火热的淘宝集市活的实属不易,就我媳妇经营这个小店我下班后也会或多或少的参与进去,现在的淘宝完全和06年时候的不一样了(那时我开店卖

双11狂欢后的无奈 - 快递变慢递

我自认为并不是一个随波逐流者,每年的双11都像往常一样平淡,但是今年xx网上 3599元的港版5s让我有点按捺不住,最后还是入手了,接着我身不由己的参与到了双11购物潮中,因为有了手机,我想应该来个英标转国标的接头转换器,哦,还需要一个手机保护壳和贴膜.......全部拿下后,不仅心里有一种微微的期待感,相信很多朋友的网购体验之一就是那种期待感,惊奇感.12号悲剧开始上演,顺丰快递竟然在广东一天一宿挪动了3个集散中心,我是垓夸你还是该说你呢?24小时没挪地方.再去京东看看我的转换器,我是11号10点左右下单,就是为了赶上211限时达,平时到朝外一天3送是可以做到,但是双11这天没有送到我原谅你

AngularJS快速开始

Angular学习之旅,从Hello World开始开始学习AngularJS的一个好方法是创建经典应用程序“Hello World!”:使用您喜爱的文本编辑器,创建一个HTML文件,例如:helloworld.html。将下面的源代码复制到您的HTML文件。在web浏览器中打开这个HTML文件。源代码<!doctype html><html ng-app> <head> <script src="http://code.angularjs.org/angular-1.0.1.min.js"></script&g

node.js 下使用mocha 来做测试 test for node.js

NodeJS里最常用的测试框架估计就是mocha了。它支持多种node的assert libs, 同时支持异步和同步的测试,同时支持多种方式导出结果,也支持直接在browser上跑Javascript代码测试。本文示例大多源于官网示例,部分示例结合需要或自己的感想有所改动。更多介绍请看 官方网址:Mocha on GithubInstallation:当你成功安装nodejs v0.10 和 npm后执行下面这条命令。#npminstall-gmochap.s. Ubuntu的注意apt源里的nodejs版本会比较旧,某些module会不支持,请从nodejs官网进行源码安装。First st

Angular 基础学习教程

我们现在开始准备编写AngularJS应用——phonecat。这一步骤(步骤0),您将会熟悉重要的源代码文件,学习启动包含AngularJS种子项目的开发环境,并在浏览器端运行应用。进入angular-phonecat目录,运行如下命令:gitcheckout-fstep-0该命令将重置phonecat项目的工作目录,建议您在每一学习步骤运行此命令,将命令中的数字改成您学习步骤对应的数字,该命令将清除您在工作目录内做的任何更改。运行以下命令:nodescripts/web-server.js来启动服务器,启动后命令行终端将会提示Http Server running at http://lo

APEC蓝 让首都也有清新空气

APEC前期,一场轰轰烈烈的减排运动,停产、限行、放假,各种手段,不一而足。覆盖北京、天津、河北、山东等地,结果最近华北空气质量大为改善,蓝天频现,北京AQI部分时段不足20,领跑全国。  于是蓝天被称为APEC蓝,而APEC被生动的解释为Air Pollution Eventually Controlled(空气污染被控制住了),这是谁翻译的,太有才了.同样的点出门上班,以前地铁车厢比较宽松,这几天9点以后出门发现地铁口依然在限行......更狠的是晚上下班换乘站开一部电梯,挡住另外一部,目的也是限行.好好珍惜.这个蓝天来之不易!

sublime text 2设置不在新窗口中打开文件

你一定也碰到过这个烦恼,用sublime 打开文件的是,就窗口是空的,文件却在新窗口在打开了,其实是默认设置项里的一个配置在控制着.今天去官方论坛看了一下,发现了一个设置:”open_files_in_new_window”: true,将其设置成false就OK了,会在当前窗口中打开文件具体设置:Preferences -> Settings – Default -> 搜索open_files_in_new_window,将其true 改为 false 后,重启一下sublime text 2 这样问题就解决了.

jquery 根据屏幕宽度改变图片宽度

投稿人: 海涛varclientWidth=parseInt(document.body.clientWidth); $('.detail_contentimg').each(function(i,n){ $(this).on('load',function(){ varwidth=parseInt(this.width);//图片实际宽度 varheight=parseInt(this.height); varoutwidth=width;//图片输出宽度 varoutheight=height;             var rateWidth = (cl

mac OS 平台下最好用的svn代码管理软件 Cornerstone

之前也推荐过一款svn管理软件,后来发现了Cornerstone后才感觉用起来更爽,所以推荐给大家.Cornerstone是一款收费软件,有能力者当然要支持开发者,如果个人使用又不愿意花银子的童鞋,可以利用神奇的搜索引擎,你懂的!首先看下庐山这面目.界面划分整洁,比较清爽.整体分成3快,左上是工作台,就是你代码所在本地的文件夹目录.左下是代码仓库.右边现在看到的是拉取服务器代码的功能界面,正常情况下是展示当前工作台内容.如果你是第一次打开Cornerstone ,首先需要在左下角新建一个代码仓库 ( 点击 REPOSITORIES 右侧+号)工作台展示区打开了拉取代码的弹出窗口.(如上图)常用

关于网站带不带www导致搜索引擎误认为2个站分流导致pr等于0

我们一般对网站做域名解析的时候,为了用户体验好.往往将www.yijiebuyi.com 和 yijiebuyi.com 同时解析到一个IP上,那么问题来了!熟不知对于搜索引擎这完全是2个站点,悲剧如下,收录的东西也不同,搜索内容跳转直接导致2个站点互相分流,见下图.那么如果把分流的2个站汇合到一起呢,网上也有很多方法,因为本站是 node.js 开发,一台服务器上部署了多个node.js 站点,前面有 nginx做反向代理.那么下面简单说下针对 nginx 下如何将 yijiebuyi.com 导流给www.yijiebuyi.com ,目的就是让搜索引擎对www.yijiebuyi.com

CentOS 中使用 yum 安装 mongodb

(一)准备工作注意: 灰色背景均为命令行输入首先确保你的yum包含mongodb相关资源,运行下面命令查看yum info mongo-10gen如果没有找到相关资源信息,那需要你自己把mongodb的源添加进去.如何添加mongodb的源,首先需要确定你的操作系统是 32位还是 64位?如何确定?使用下面的命令uname -a如果输出的信息包含 x86_64 说明你的系统是64位,如果不包含说明是32位系统.不同版本的系统对应创建如下相关的源信息.执行如下命令创建源cd /etc/yum.repos.d/nano 10gen.repo //创建一个源文件 10gen.repo 你可以使用vi

Eclipse下画UML图的插件PlantUML推荐使用

借用百度百科的一句话:UML就是统一建模语言 , 是一个通用的可视化建模语言,用于对软件进行描述、可视化处理、构造和建立软件系统制品的文档.画UML图的工具有好多种,但是今天说的这个Eclipse 插件有他的独特之处,在这个插件上可以通过编写模板语言来实现UML图的制作,而且模板语言也非常简单,作为开发人员,瞄一眼应该就能写出简单的模板来.如何安装:1.首先要有Eclipse IDE工具,可以去官网下载最新的版本,点击这里2.安装运行Eclipse ,如果本地环境已经有Eclipse 环境,忽略上面2步.3.点击Eclipse 菜单 Help 选择 Install New Software ,

mongoDB配置副本集

内容提供者: 海涛同学配置副本集:1.启动主服务器(110.161.51.30)mongod --replSet tulingdao -f /etc/mongodb.conf --fork2.启动副本服务器(110.163.177.72)mongod --replSet tulingdao -f /etc/mongodb.conf --fork3.在monogo shell中创建配置文件,并连接到主服务器var config = {"_id": "tulingdao","members": [{"_id":0, &

html 元素中的 strong em i b 有什么区别

html中的加粗/加重 在网页制作过程中,难免要遇到针对文本的加粗,加重等情况. 但是html中有好几个可以把文本加粗加重的标签,尤其HTML5出现后, 我们常见的加粗/加重标签有: strong em i b strong strong 加粗加重显示, 要比 em 更加强调一些, 比如全文要突出的关键词, 可以让用户一眼就看到的重点内容, 它更加强调的是重要突出的关键词的内容,而不仅仅是针对样式上的加粗需求. strong 全局强调关键词 em em 默认斜体不加粗显示, 一般着重要表示的内容, 它字体没有 strong 粗黑, 所以一般用户不会一眼注意到em 标签的内容. em 局部

node.js 实现一个简单的登录拦截器

拦截器在web开发中随处可见,比如站点的管理后台,不说所有人都能进入,所以就需要做一个拦截器并友好的跳转到提示页.下面我们简单实现一种,判断用户是否登录成功,登录不成功的用户自动重定向到登录页面.首先我们实现一个过滤器exports.checkAuth=function(req,res,next){ vartoken=req.signedCookies.token; if(token&&req.session.user&&req.session.user.token===token) next(); elseif(token){ //ifinvalidtoken

node.js post json格式数据到服务器的几种方法

json格式被越来越多的开发者说青睐,我们常常在接口定义时使用这种格式参数进行数据交换.今天主要给大家从繁到简的几个node.js下使用的提交 json个数参数的方式方法.下面示例中出现的参数都做了处理,拷贝代码后需要更改这些参数同时自己写一个接收json格式的api,请求成功后再返回json格式(一) node.js 原生自带http模块,可以解决基于http协议下的请求及回发,执行效率高,但是好多东西需要开发人员自己动手来实现,看下面代码varhttp=require('http'); var body = {   "data":{    "

node.js 定义一个只读不可删除的全局变量

node.js 下如何定义一个只读不能删除的全局变量呢?使用下面的方法:varmongodbClients=require('./lib/common/mongodb_helper');     Object.defineProperty(global, "mongodbClient", {         value: mongodbClients,         writable: false,         configurable: false     });这样就创建了一个 mongodbClient  的全局变量,如何使用的呢?global.

node.js 使用domain模块捕获异步回调中的异常

和其他服务器端语言相比,貌似node.js 对于异常捕捉确实非常困难.首先你会想到try/catch ,但是在使用过程中我们会发现并没有真正将错误控制在try/catch 语句中.为什么?答案是这样的:node.js 是异步IO执行,所以我们将try/catch 反正异步回调函数中,当出现一个异常的时候,我们try 拿到这个错误时应该错过了当前程序运行堆栈,而在node.js原生的uncaughtException 处理事件却挂在 process 对象上,OMG,你可想而知,如果一个异常出现时,当前运行的 process 会直接挂掉,导致错误永远不会走到 catch 语句.所以 try/cat

利用redis 有序集合,轻松搞定排行榜

redis 在nosql阵营可谓是红的发紫,它比其他nosql产品支持的存储类型比较丰富,而且存储方式比较灵活,试用的成本也不高.本文简单描述下 redis 下如何实现一个排行榜,缘由是redis 支持一种 有序集合 zset 类型,zset 是set 类型的一个扩展,比原有的类型多了一个顺序属性.此属性在每次插入数据时会自动调整顺序值,保证value值按照一定顺序连续排列.我们首先插入一些测试数据.zhangzhi@moke:~$redis-cli-h192.168.1.175-p6377我用客户端连接上了 192.168.1.175 服务器的 6377 端口.192.168.1.175:6

node.js 下给字符串生成一个哈希散列值

我们常常对一个拼接的变量进行映射,让一个变量通过一定的算法得出一个可控的结果然后在操作.比如淘宝的分布式存储,淘宝会根据注册用户ID对64取模,结果肯定是小于64的数,就可以根据此数来确定用户信息存储在64台服务器中的哪一台.这里一个前提是会员ID是数值型,如果是字符串怎么办?本文要解决的就是这个问题.思路:给字符串求哈希散列码, 然后对固定数值求模,最后确定该把数据存储到那台服务器上.node.js 下有很多求哈希散列值的模块,本文用到的是fnv-plusgithub 地址:https://github.com/tjwebb/fnv-plus npm 安装模块(这里就省略不说了)使用:var

redis-cli 命令总结

Redis提供了丰富的命令(command)对数据库和各种数据类型进行操作,这些command可以在Linux终端使用。在编程时,比如使用Redis 的Java语言包,这些命令都有对应的方法。下面将Redis提供的命令做一总结。官网命令列表:http://redis.io/commands(英文)1、连接操作相关的命令quit:关闭连接(connection)auth:简单密码认证2、对value操作的命令exists(key):确认一个key是否存在del(key):删除一个keytype(key):返回值的类型keys(pattern):返回满足给定pattern的所有keyrandomk

node.js 下的异步递归 setImmediate 和 process.nextTick 如何使用

node.js 下之前使用的异步递归都是process.nextTick ,但是0.9以后的版本不推荐使用这种递归,取而代之的是setImmediate那么setImmediate 比 process.nextTick 相比有何优势呢?看下面的一段代码.functionforNext(i,end){ if(i>end){ console.log('programisend!'); }else{ console.log('调用递归中......i='+i); process.nextTick(function(){ returnforN

【随笔】博客终于熬过了百度的考核期

由于之前的各种免费云空间不给力,一介布衣 几乎是隔几个月就挂一次.这对于seo是致命的,去年各大搜索引擎收录还是不错的.经历了今年3月份bae云空间的下架独立域名导致一介布衣消失了一段时间,到目前搜狗和搜搜仍然不收录,必应删除了之前的所有收录记录,现刚刚开始重新收录.google收录最完整且保留了一介布衣的所有历史快照,感动ing~~这张图很明显的告诉我们今年3月份由于bae关闭独立域名绑定后,导致一介布衣搜索量直线下滑,4月初迁入阿里云后,服务器稳定,内容一直保持原创更新,搜索量逐渐上升,但是所有的搜索量都不会被立即放出,而是进入了百度的一个考核期,这个时间是漫长且无奈的,大致是1-2个月,

express 解析post方式下的json参数

node.js 下最出名的web框架 express ,之前低版本(4.0以下)貌似需要依赖bodyParser 包来解析请求体,Express 3.x和4.x版本的区别 查看此博文了解.后来的版本把bodyParser 继承进去,需要在express 配置项里 user(express.bodyParser({ keepExtensions: true, uploadDir: '/tmp' })) 如下代码:varexpress=require('express'), app=express(); app.configure(function () {    

mac OS强大的svn 客户端管理软件 sourcetree

mac OS下一个免费且好用的svn客户端软件,可以在App Store中下载安装.安装好软件后,打开软件拉取服务器端源代码source path 是源代码托管地址.(写入地址后回车会提示输入帐号密码)destination path 是本地源代码存储目录.如果你克隆源代码时遇到了下面的错误:abort: no compatible bindings available:Subversion 1.5.0 or later required, but no bindings were foundSubvertpy 0.7.4 or later required, but not foundPle

【随笔】javascript 超越 ruby 稳坐 github 第一把交椅

Github 托管这各式各样的开源项目,编程语言多种多样,当长久以来Ruby语言开发的项目居首.原因是因为Github 本身就是由Ruby 社区诞生出来的,所以长久以来它是Ruby的大本营.逐渐其他语言开发的开源项目也托管过来,久而久之语言种类越来越多,但是从未撼动过Ruby 的地位.但是到目前为止,javascript已经在github上稳坐第一把交椅,我个人认为是这几点因素:(1)如今前端javascript以垄断形式抢占web浏览器,可见前端javascript 工程师一抓一大把.(2)2009年发布至今的node.js 运行在服务器后端环境的javascript,以前得天独厚的web开

用Apache 的 ApacheBench 给web做性能压力测试

ApacheBench 是 Apache 服务器自带的一个web压力测试工具,缩写为 ab ,旨在高压高并发下体现出各种问题和瓶颈.ab 命令会模拟多个用户同时访问一个url (伪装一个并发访问的环境).此命令对本地cpu要求不高,内存要求也不多,但是会对访问目标服务器造成严重的负载甚至资源耗尽而宿机,很类似与cc攻击.使用方法:ab[option][http://]host[:port]/path[option] 是ab 命令提供的N多可选参数-n//requests Number of requests to perform//在测试会话中所执行的请求个数(本次测试总共要访问页面的次数)。

node.js团队 五一期间发布 v0.10.28 和v0.11.13版本

劳动最光荣,热烈庆祝 node.js 团队在五一国际劳动节向大家推出了2个新版本V0.10.28 Source code 下载地址V0.11.13 Source code 下载地址V0.11.13 更新记录v8: upgrade to 3.24.35.22buffer: add compare and equals methods (Sean McArthur)buffer: improve {read,write}{U}Int* methods (Nick Apperson)buffer: return uint if MSB is 1 in readUInt32 (goussardg)bu

回到顶部