[置顶] js实现跨域访问

add_header Access-Control-Allow-Origin *; add_header Access-Control-Allow-Headers X-Requested-With,Content-Type; add_header Access-Control-Allow-Methods PUT,GET,POST,GET,OPTIONS;...
阅读(166) 评论(0)

[置顶] 电商系统店铺个性化域名实现

一、背景介绍在C2C电商系统中,用户可以申请成为卖家,然后开设自己的店铺。为了更利于传播,让会员更容易记住,一般会设置店铺的个性域名。如:良品铺子在某猫的个性域名是:lppz.xxmall.com。二、设计原理在设计这套系统时,主要是通过设置域名的泛解析到二级或者三级域名,然后根据域名前缀,在程序中转换成对应的店铺id。从而完成个性化域名跳转到对应的店铺网站首页。三、程序实现1. 设置域名泛解析假设...
阅读(699) 评论(0)

[置顶] 基于Redis的防刷票、防刷短信、及所有防刷系统的设计

一、背景介绍在设计大型Web网站时,特别是涉及到金钱交易的,如电商系统,免费抽奖,1分钱秒杀等网站,一些不法黑客会想办法攻破来获取“利益”。他们常用的手段,大概分为以下几种: 1、初级版:通过抓包工具,抓取网站请求URL,分析请求的参数,然后通过编写脚本程序,模拟正常的请求,自动批量发送请求 2、中级版:有些网站对于初级版的攻击,它们做了单ip限制和单用户ID请求频次限制。对于这种情况,黑客们,...
阅读(1608) 评论(0)

[置顶] Nginx多域名配置

Nginx多域名配置一、环境准备1.Tengine,也称Taobao nginx,淘宝在Nginx基础上,针对大型网站访问,添加了一些高级功能和特性。 2.Resin服务器或者Tomcat服务器,用来做Web服务器二、域名解析假设虚拟主机外网IP是123.123.123.123,添加解析到该域名:1.添加域名解析,@和www,分别对应tngtech.com和www.tngtech.com映射;...
阅读(624) 评论(0)

[置顶] spring多种格式日期类型绑定

1.单一格式日期类型对于单一格式日期类型,我们需要自定义一个日期格式转换器。 @InitBinder public void initBinder(ServletRequestDataBinder binder) { /** * 自动转换日期类型的字段格式 */ binder.registerCustomEditor(...
阅读(1583) 评论(2)

[置顶] Redis实现消息队列

基于Redis消息队列-实现短信服务化1.Redis实现消息队列原理常用的消息队列有RabbitMQ,ActiveMQ,个人觉得这种消息队列太大太重,本文介绍下基于Redis的轻量级消息队列服务。 一般来说,消息队列有两种模式,一种是发布者订阅模式,另外一种是生产者和消费者模式。Redis的消息队列,也是基于这2种原理的实现。 发布者和订阅者模式:发布者发送消息到队列,每个订阅者都能收到一样的消...
阅读(12971) 评论(8)

[置顶] Java数据结构和算法系列3--ThreadLocal类原理详解

1.ThreadLocal介绍Java实现多线程的2种方式,继承Thread类和实现Runnable接口。今天我们介绍下另外一种常用的多线程类ThreadLocal类。 ThreadLocal在维护变量时,为每个使用变量的线程提供了独立的副本,所以每个线程都可以独立的改变自己的副本,而不影响其他线程对应的副本。2.原理ThreadLocal类接口很简单,只有4个方法,我们先来了解一下:void s...
阅读(850) 评论(0)

[置顶] Java数据结构和算法系列2--数组

1.介绍Java最常用的数据结构就是数组了,Java中得数组有2种数据类型:基本类型(如int,long)和对象类型。在许多编程语言中数组是基本类型,但在Java中把它们当做对象来对待,因此在创建数组时必须使用new操作符: int[] intArray = new int[100]; []操作符对编译器来说是一个标志,它说明正在命名的是数组对象而不是普通变量,当然数组变量还可以这么写,就是将它放...
阅读(547) 评论(0)

[置顶] Java数据结构和算法系列1--链表

在Java编程道路上已经行走了6年多了,平时在工作当中,一般都是应用层面的开发,很少涉及到底层,就算有些逻辑算法要写,也可以找到现成的框架来完成,这里不得不自吹自擂下Java的好处了,因为Java开源框架太多了,而且非常成熟丰富。 对于Java数据结构和算法可能有些模糊了,那么现在就来对Java基础知识–数据结构和算法做些整理。 今天就来介绍下链表的数据结构,简单实现一个单向链表。 1 链表数...
阅读(436) 评论(0)

[置顶] Redis和MongoDB原理简析

1. Redis1.1 NIO通信因都在内存操作,所以逻辑的操作非常快,减少了CPU的切换开销,所以为单线程的模式(逻辑处理线程和主线程是一个)。 reactor模式,实现自己的多路复用NIO机制(epoll,select,kqueue等) 单线程处理多任务1.2 数据结构hash+bucket结构,当链表的长度过长时,会采取迁移的措施(扩展原来两倍的hash表,把数据迁移过去,e...
阅读(371) 评论(0)

[置顶] Spring IOC原理分析

1. IOC简介Spring IOC:英文全拼 Inversion of Control,翻译中文就是控制权反转的意思。大家都知道,在编程时会经常用到1个或者多个对象来完成业务操作。在普通的Java代码中,常常使用new关键字来实例化对象。现在有了Spring IOC,不需要自己去管理对象,而是将对象的管理交由Spring平台框架,由它来负责对象的生命周期和对象间的关系。所以叫做控制权反转。 比如...
阅读(393) 评论(0)

[置顶] 一致性Hash算法与Java实现

1.简介1.1 普通hash算法普通hash算法是通过key将数据映射到具体节点上,如key%N,key为数据的hash值,N为节点数量,如果有机器加入或者退出集群,则key映射失效了,导致数据丢失。 1.2 一致性hash算法相比普通hash算法,一致性hash就可以解决这种问题。一致性hash是分布式系统常用的一种算法,常用于负载均衡。2.原理分析2.1 环形Hash空间一致性hash算法,将...
阅读(996) 评论(0)

[置顶] 消息队列RabbitMQ与Spring集成

RabbitMQ简介 Spring集成RabbitMQ 1 maven配置 2 rabbmitmq配置文件 3 Spring配置 在Spring中使用RabbitMQ 1 申明一个消息队列Queue 2 交换机定义 3 发送消息Producer 4 异步接收消息Consumer 5 JUnit测试 1.RabbitMQ简介RabbitMQ是流行的开源消息队列系统,用erlang语言开发。Rabbit...
阅读(28144) 评论(12)

[置顶] 大型web系统数据缓存设计

前言 在高访问量的web系统中,缓存几乎是离不开的;但是一个适当、高效的缓存方案设计却并不容易;所以接下来将讨论一下应用系统缓存的设计方面应该注意哪些东西,包括缓存的选型、常见缓存系统的特点和数据指标、缓存对象结构设计和失效策略以及缓存对象的压缩等等,以期让有需求的同学尤其是初学者能够快速、系统的了解相关知识。 数据库的瓶颈 2.1 数据量 关系型数据库的数据量是比较小的,以我们常用的MySQ...
阅读(919) 评论(0)

[置顶] iOS新闻客户端开发教程-完整教程目录

终于完整写完了iOS新闻客户端App的教程了,其中有些不够详细的,请查看源码。所有的教程在下面目录 iOS新闻客户端开发教程1–项目框架搭建 iOS新闻客户端开发教程2–应用图标和启动图片设置 iOS新闻客户端开发教程3–基类编写 iOS新闻客户端教程4-Home主页 iOS新闻客户端开发教程5-二级栏目导航条 iOS新闻客户端开发教程6-新闻列表 iOS新闻客户端开发教程8-加载更多和新闻详情 g...
阅读(1304) 评论(5)

[置顶] iOS新闻客户端开发教程8-加载更多和新闻详情

今天介绍下iOS新闻客户端App的2个功能点的开发:新闻列表加载更多 和 新闻详情页。新闻列表加载更多1.新建加载更多的单元格Cell,NewsMoreCell.xib 拖拽Label和Loading框,设置约束,如下图: 2.新建NewsMoreCell类 //NewsMoreCell.h #import "BaseCell.h"@interface NewsMoreCell : BaseC...
阅读(1208) 评论(0)

[置顶] iOS新闻客户端开发教程7-新闻列表

在上教程中,我们介绍了二级导航栏的开发,今天我们来讲解iOS开发中非常常用和重要的组件:“列表”,即UITableView。本节课程将会介绍横向滚动列表和竖向滚动列表,分别来实现二级栏目滑动切换和新闻内容列表的功能。 UITableView介绍 横向滚动列表-二级栏目滑动切换 新闻内容列表UITableView介绍在OC中,UITableView是用来展示列表数据的控件,基本使用方法是: 1.首先...
阅读(1774) 评论(0)

[置顶] iOS新闻客户端开发教程6-二级栏目导航条

今天我们来介绍下新闻二级栏目。二级栏目在我们的新闻Tab页里,分别有头条,娱乐,体育,财经,科技等等不同类别的新闻,我们是使用一个二级栏目条来展示不同类别的新闻。1.服务器json接口// column.json { "result":"ok", "data":[ { "id":"1",...
阅读(1133) 评论(0)

[置顶] Spring MVC中使用Mongodb总结

近期项目做了次架构调整,原来是使用MySQL+GeoHash来存储LBS数据(地理位置信息),现在使用NOSQL数据库Mongodb来存储LBS数据(地理位置信息)。由于项目是基于Spring MVC开发的,今天就Mongodb的使用做下总结。Spring MVC 集成Mongodb1.加载jar,maven配置 ...
阅读(9145) 评论(3)

[置顶] Git命令总结

git config –global user.name “your name” git config –global user.email “email@explame.com” git init 初始化 git add readme.txt 添加 git add . 添加所有 git commit -m ” commit mark ” 提交 git status 工作区状态 git...
阅读(418) 评论(0)

[置顶] 《高并发Web网站构建-徐汉彬》攒课-- 在线学习笔记

高并发Web网站构建-徐汉彬 浏览器并发连接数 一次HTTP通信 TCP三次握手 (保持连接)  请求数据/响应数据 (达到超时条件)  TCP四次断开 短连接,长连接Keep-alive ================== Apache apachctl -v 版本 Prefock模式 多进程 成熟文档,允许线程不安全...
阅读(992) 评论(0)

[置顶] 《企业应用架构模式》读书笔记1-并发

避免并发隔离性和不变性1、隔离 划分数据,使得每一片数据只能被一个执行单元访问。 隔离是一种减少错误发生的有效技术。可以使用隔离方法安排资源,以便程序进入的是隔离区,而无需考虑并发问题。 好的并发设计应该是:找个各种创建隔离区的方法,并且保证每个隔离区里能够完成尽可能多的任务。2、不变性 只有共享数据可以修改的情况下,才会出现并发问题。所以,一个避免并发冲突的方法是识...
阅读(429) 评论(0)

[置顶] 《企业应用架构模式》读书笔记2-分布策略

远程接口和本地接口本地接口最好是细粒度的比如,如果有一个地址类,则一个好的接口应该有单独的方法,分别获取城市,地区,街道等。细粒度接口非常好,因为它符合一般面向对象的原则,即尽可能细分,使我们可以以不同方式组合和覆盖这些方法以便在将来进行设计扩展。 远程接口应该是粗粒度的。 应该在一次调用里得到城市,地区,街道信息,而不是三次调用。虽然这样扩展性较差,但是为了性能值得这么做。 分布对象设计第一定律不...
阅读(457) 评论(0)

[置顶] iOS新闻客户端教程5-Home主页

在iOS App中,常用的主页布局是上面是导航栏,下面是TabBar。本教程将介绍如何开发一款这样的新闻主页。 导航栏 TabBar导航栏打开之前基类里的BaseController类,在.m文件中增加下面代码 BaseController.m-(void)viewDidLoad { [super viewDidLoad]; [self setNavigationLeft:@"Na...
阅读(741) 评论(0)

[置顶] iOS新闻客户端开发教程3--基类编写

在面向对象编程中,常用的就是抽象和封装,今天来完成Model,ViewController,View基类(父类)的编写。 日志宏定义 Model基类 ViewModel基类 ViewController基类日志宏定义为了更好查看日志信息,我们封装了一些宏定义,取代了NSLog,让日志信息更方便我们调试 新建Defineds.h #if (DEBUG || TESTCASE) #define Log...
阅读(1751) 评论(0)

[置顶] iOS和JS互调--WebViewJavascriptBridge使用说明

因为最近项目需要跨平台,在网上找到这个demo拿来用。 首先简单说一下跨平台。由于现在很多产品都是有安卓版跟ios版,就意味着同一样东西要出两套,由两组人去完成,不仅增加了开发成本,也大大加剧了维护成本。聪明的coder想出了跨平台的思路,用html写页面,分别用webview(ios),(安卓)来加载,对某些html无法调用的硬件,通过双方的交互来实现方法的互调和传值。这个过程就是跨平台。 下...
阅读(4210) 评论(2)

[置顶] 数据抽取工具Kettle使用

在我们开发的过程中,经常碰到多个系统之间需要相互抽取数据的问题,以往我们可以通过写Webservices接口,或者FTP共享来完成,但是这样会存在工作量大,不便于维护,性能不高的问题。今天介绍一款常用的数据抽取工具—-Kettle。 Kettle是一款国外开源的ETL工具,纯Java编写,可以在Window、Linux、Unix上运行,数据抽取高效稳定。下面我们使用一个Demo程序介绍下其常用组件...
阅读(3439) 评论(2)

[置顶] iOS新闻客户端开发教程2--应用图标和启动图片设置

在教程1中,我们搭建了项目的基本框架,可以按照这套框架结构开始正式开发了,具体见:http://blog.csdn.net/jacman/article/details/49071443 今天主要介绍如何设置App应用图标和启动图片 设置App应用图标 设置启动图片 设置预编译头文件 设置App应用图标 1.取消默认从Main.storyborad启动...
阅读(1119) 评论(0)

[置顶] Python轻量Web框架Flask使用

Python语言近些年越来越火,其特点是开发迅速,语法简单,可移植等。本人就Python3基础语法写了Demo:https://github.com/tangthis/python3_demo,可以当作基础教程和手册查阅。Python Web开发框架常用的包括Django,Flask,Tornado,Bottle,web.py,Quixote等。Django功能比较全面,比较重,相对来说,Flask...
阅读(7704) 评论(2)

[置顶] iOS第三方库利器cocoapods安装和使用,深度解决被墙的问题

Mac下安装和使用cocoapods,深度解决被墙的问题...
阅读(852) 评论(0)

[置顶] iOS新闻客户端开发教程1--项目框架搭建

经过学习了2个多月的Objective-C基础知识学习,终于迎来了实战了,本教程将系列介绍使用Objective-C开发一款仿网易新闻客户端App。下面将介绍Xcode项目框架搭建,包括以下内容: 开发环境安装 MVVM框架模型介绍 搭建项目框架开发环境安装1.安装Mac上开发工具Xcode   Xcode:https://itunes.apple.com/us/app/xcode/id49779...
阅读(2225) 评论(0)

[置顶] Spring集成Shiro权限管理

Spring集成Shiro实例...
阅读(1525) 评论(0)

[置顶] 《30岁前每一天》 读书心得体会

在某社交网站上看到很多人推荐的一本书,名为《30岁前的每一天》,于是当天就在亚马逊上购买了。 书中的内容,并没有具体到30岁前的每一天要干什么,其主要目的,按照作者自序写的说,是为了帮助读者作出改变的书,能够帮助你清楚生命当中,到底哪些是真正值得去珍惜的,哪些是真正值得去奋斗的。在30岁之前,能帮助读者形成优秀的习惯,用梦想做指引,积聚正能量,打败“小怪兽”,作好职业、学习、爱情的规划,踏上财富...
阅读(2078) 评论(0)
82条 共9页1 2 3 4 5 ... 下一页 尾页
    个人资料
    • 访问:239921次
    • 积分:2496
    • 等级:
    • 排名:第14355名
    • 原创:40篇
    • 转载:43篇
    • 译文:0篇
    • 评论:81条
    我的微信公众号
    长期为您推荐优秀博文、开源项目、视频等,进入还有好玩的等着你,欢迎扫一扫。
    文章分类
    最新评论