- 博客(101)
- 资源 (6)
- 收藏
- 关注
原创 初创技术团队的准备工作
初创的技术团队,一切从0开始,一切看似那么美好,前景如此令人向往。市场不等人,需要快速的抢占先机,所以产品如果能够早点面市,就比别人多了一丝活下去的希望。但是磨刀不误砍柴工,如果不做好基础的技术准备工作,就一头扎进业务代码中,看似如火如荼,实际会带来各种各样的隐患(当初创团队的团队成员并非是那种并肩在其他平台很长时间形成默契的战友的话,问题会更多)。在此,把我们的经验总结一下,避免踩坑。总结下来,...
2018-04-11 21:19:34
652
原创 ajax session失效后,跳转到登录页面的全局处理
在SaaS系统中, 我们需要考虑, 用户停留页面时间过长导致session失效后, ajax方法无法正确运行, 我们又不希望在每个ajax方法中, 来判断是否登录, 未登录的情况下就跳转到登录页.我们的解决方案是:首先,有一个Intercepter 实现了HandlerInterceptor接口.在preHandler方法中, 判断handler对象类型, 我们只处理 spri
2017-03-17 12:31:52
3478
原创 自定义销售属性的展示和数据存储解决方案
之前一直在国内曾经最火的服装电商公司.我们的商品结构设计是:款 -> 颜色 -> 尺码[SKU]现在,遇到一个新的需求. 我们需要支持用户自定义销售属性.如下截图:SKU列表会随着属性的增加和删除会发生变化, 如下截图:增加了一个型号短袖后,变成如下:我的数据表设计如下由 Product表, SellProperty表
2017-02-18 22:50:02
3414
原创 从jedis的TCP连接建立来学习Java Socket
在很多教材或者教程上,通常都是很简单的一个例子来演示如何使用Java进行TCP通讯.在这款广泛被使用的开源组件中,我们能够更好的学习到一个企业级的组件在TCP连接的处理上,更应该关注哪些方面.有哪些是我们应该掌握或者了解的TCP知识.TCP协议本身相当复杂,我们做应用的可以先从应用层需要用到的相关知识开始了解. jedis中,与redis服务端建立连接的代码在Connection这个类中.
2016-12-17 20:31:13
2613
原创 nginx + lua + redis 防刷和限流
防刷和限流的概念是:防刷的目的是为了防止有些IP来爬去我们的网页,获取我们的价格等信息。不像普通的搜索引擎,这种爬去行为我们经过统计最高每秒300次访问,平均每秒266次访问。由于我们的网站的页面都在CDN上,导致我们的CDN流量会定时冒尖。为了防止这种情况,打算将网页页面的访问从CDN切回主站。同时开启防刷功能,目前设置一秒200次访问即视为非法,会阻止10分钟的访问。限流的目的
2016-07-22 16:46:19
31674
2
原创 ssh 远程执行命令
很多时候,我们需要SSH到一台机器,去执行命令。如果有N台机器的话,那么执行起来就非常费劲。 需要SSH登入,登出。之前使用SSH命令不深,这次了解到了ssh 用户名@IP “命令”比如ssh root@10.1.50.233 "cd /opt/flume1.6.0 && ./restart_flume.sh"这个restart_flume.sh是目标机器上的脚
2016-07-13 12:22:19
656
原创 keepalived + redis配置
我的两台虚拟机,IP: 10.211.55.13 [master]IP: 10.211.55.14 [backup]在两台服务器上启动redis,端口6379.开启rdb和aof拷贝 redis-cli,redis-server等到/usr/bin下----------keepalived安装:我采用的是centos7,所以一条命令即可:yum install ke
2016-07-12 15:23:39
589
原创 storm用来做实时日志分析的浅显使用
公司的nginx日志的主要使用者是BI部门。他们可以通过日志进行一些数据方面的统计和分析。而我们基础架构对nginx的日志分析,主要是考虑以下几点:1. 有针对的进行日志收集和分析,比如针对核心业务,比如手机端的服务,我们统称为api服务2. 需要能够给业务研发一些能够辅助决策,帮助其判断接口异常或者帮助他们及时了解接口工作状态因此我们的分析的维度包括:1.url的http s
2016-07-11 22:54:49
4993
原创 阉割版和MVP
最近公司正在做一个新的产品。主要的目的是采用分销模式,任何人都可以利用微信朋友圈进行分享并获益。这个产品分为B端,也就是分销商使用的app和C端-分享后用户在朋友圈点击链接看到的H5站点。在设计B端产品的时候,思路和想法都很完善。比如有一个货源市场模块方便分销商去查找平台商品并代理以及分销商可以对已代理的商品进行自定义分类等等模块。由于前期了解到,平台上线之初属于试运行阶段,商品数
2016-04-21 15:08:30
491
原创 docker实践
两个月前,在组内开始推进docker。由团队的一个小兄弟做主力,专攻docker的使用和生态环境的研究,并且以我们组维护的管理系统为切入点,搭建一个docker平台,首先移植我们的管理系统。在开始研究的时候,有两个方案的选择一个是Google的k8s,另外一个是mesos + marathon。在youtube上观看了不少关于k8s的视频,本来打算用k8s的。但是由于k8s搭建比较麻烦
2016-01-11 22:21:29
491
原创 seaweedfs的使用和修改
Seaweedfs 是根据 facebook的一篇关于分布式图片系统的论文完成的. 这篇论文的英文原文地址,中文翻译版本的地址Seaweedfs官方地址为: 这里. 用GO语言完成.Seaweedfs 我主要用到的是:weed masterweed volumeweed filerweed uploadmaster可以作集群.其用raft来做一致性协议,选举master
2015-12-28 17:57:12
8722
原创 tomcat-jdbc关于回收连接对象的粗略分析
DataSourceFactory -> DataSource -> 初始化pool -> 启动Sweeper线程但是启动Sweeper之前有一步判断org.apache.tomcat.jdbc.pool.PoolProperties @Override public boolean isPoolSweeperEnabled() { boole
2015-07-31 22:56:50
758
转载 判断浏览器类型,区分手机和PC
var browser={ versions:function(){ var u = navigator.userAgent, app = navigator.appVersion; return { trident: u.indexOf('Trident') > -1, //IE内核
2015-01-28 11:33:00
727
转载 一键去除空白行 - DeleteBlankLines
下方所述安装DeleteBlankLines插件的前提:Package Control已经安装好,同时请进行翻墙的准备,以防止无法连接外网导致无法下载安装.关于Sublime Text插件的说明在之前的文章已经说了很多了相关内容及介绍了,下面小觉就直接进入主题吧。之前使用Dreamweaver的时候,其中就有一个快捷键可以快速清楚代码中的空白行,可是到了Sublime Text中小觉却是没
2015-01-21 11:10:54
3127
转载 sublime text2 安装 插件方法
安装Sublime Text 2插件的方法:1.直接安装安装Sublime text 2插件很方便,可以直接下载安装包解压缩到Packages目录(菜单->preferences->packages)。2.使用Package Control组件安装也可以安装package control组件,然后直接在线安装:按Ctrl+`调出console粘贴以下
2015-01-21 11:10:11
474
原创 安装Tengine
遇到的几个问题pcre library :ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/openssl library:http://www.openssl.org/source/openssl-1.0.1j.tar.gzzlib:最后 ./configure
2014-12-03 16:42:07
541
原创 小电商的困惑
1.商品素材不够全,不过好,需要大量的人力去完成2.活动要不要做很多? 满减,买赠,促销? 还是做别的来吸引用户?3.广告投放4.库房的拣货,发货怎么衔接? 怎么记录拣货商品? 怎么关联库存?
2014-11-27 11:50:53
432
原创 elasticsearch作为服务启动
首先,在/etc/init.d 下面 sudo vi es然后录入下面内容#!/bin/bash#chkconfig:2345 80 05#description:mystart serviceRETVAL=0start(){ export JAVA_HOME=/home/imagemedia/jdk1.7.0_67 echo -n "start e
2014-10-17 08:36:01
3922
转载 Invalid <url-pattern> in servlet mapping
我们在使用servlet的过程中会配置web.xml中的url-patterm属性,该属性,比如遵循如下规范:1、以一个“/”开始,以一个"/*",用以上规范来匹配类似的路径例如/path/*2、以一个"*."字符开头,最后以具体的某个字符结束3、一个字符串序列以"/"字符开头,但是不以"*"字符结束我们配置的url-pattern属性满足其中的规范之一即可。如果都
2014-09-15 09:44:10
14936
转载 lucene 对地理位置的搜索
package com.lucenetest;import java.io.IOException;import java.text.ParseException;import org.apache.lucene.document.Document;import org.apache.lucene.document.Field;import org.apache.lucene.doc
2014-09-10 09:30:30
1658
转载 class not found org/sonatype/aether/RepositorySystem;
3.1.1的maven 对应 3.8.0 maven-plugin
2014-08-21 21:37:01
1310
原创 jedis +springdata spring-data-redis 1.1.1 to 1.2.0 afterPropertiesSet signature exception
http://stackoverflow.com/questions/22704518/jedispoolconfig-is-not-assignable-to-genericobjectpoolconfig
2014-06-10 15:43:57
1015
原创 JAVA GC
http://www.cubrid.org/blog/dev-platform/understanding-java-garbage-collection/http://www.cubrid.org/blog/tags/Garbage%20Collection/
2014-04-30 14:45:58
516
转载 高性能I/O设计模式Reactor和Proactor
转载自:http://blog.youkuaiyun.com/roger_77/article/details/1555170昨天购买了《程序员》杂志 2007.4期,第一时间去翻阅了一遍,其中有一篇《两种高性能I/O设计模式的比较》令人眼睛一亮,这是一篇译文,偶最近在一直想认真看看这方面的文章很久了。文章主要是讲到了系统I/O方式可分为阻塞,非阻塞同步和非阻塞异步三类,三种方式中,非阻塞
2014-04-30 09:16:05
495
转载 淘宝的可伸缩高性能互联网架构
转载自:http://www.cnblogs.com/ddatsh/archive/2010/11/29/1891180.html
2014-04-25 16:26:21
509
原创 账户-虚拟账户
虚拟账户是用来保存用户的交易后发生退换货造成的返还金额.虚拟账户中的金额两种用途,一用户可以提现二可以进行二次消费,但是必须开启支付密码.涉及到相关的表结构为:CREATE TABLE [dbo].[Bank] ([UserID]int NOT NULL ,[UserMoney]decimal(18,2) NOT NULL ,[Points]int NOT NULL ,
2014-04-25 16:07:59
2240
原创 账户-邮箱验证的业务逻辑
邮箱验证分为san种,一种是用户名为邮箱的情况,另一种是用户名是手机号的情况. 整体的邮箱验证的流程如下:1.如果已经验证过手机,向用户的验证手机发送验证码,然后弹框,要求用户输入验证过的手机收到的验证码.2.如果没有经过手机和邮箱验证: a.如果用户是手机注册,向用户的注册手机发送验证码,然后要求用户输入注册手机中收到的验证码. b.如果用户是邮箱注册,则向注册邮箱中
2014-04-24 17:51:58
4197
转载 雅虎14条-Best Practices for Speeding Up Your Web Site
http://developer.yahoo.com/performance/rules.html
2014-03-14 23:14:13
639
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人