
Web
文章平均质量分 89
maweitao2014
你好2015
展开
-
六步实现Rest风格的API
Rest的作者认为计算机发展到现在,最大的成就不是企业应用,而是web,是漫漫无边的互联网web世界。Web能有这么大的成就,它值得我们研究。所以Rest的作者仔细研究了Web,按照Web的世界一些关键特性,提出了我们在实现企业应用的时候应该遵循的一种风格,就是Restful。Rest风格的API可以给我们很多好处,比如:简洁,统一,性能,可扩展性等等。可惜的是,在实现Rest的时候,总有转载 2015-07-14 16:18:06 · 523 阅读 · 0 评论 -
SOA架构 今天你实现了吗?
我们这里将讲一讲SOA架构,包括SOA架构的前世今生,希望本文对大家了解SOA有所帮助。AD:SOA架构在很多人眼里还是比较新的一个概念,有人追捧,有人抹杀。这里作者将从自己的经历来讲述SOA架构的前世今生。我也在不断反省自己,不管我说得对错,总会有一大批人来打击我,原因很简单“我自傲、我自大,没办法从小就很优秀,哈哈,爹妈生得好啊,不能怪我”。大家都谦虚了转载 2015-07-21 15:36:00 · 562 阅读 · 0 评论 -
浅谈MD5加密算法中的加盐值(SALT)
我们知道,如果直接对密码进行散列,那么黑客可以对通过获得这个密码散列值,然后通过查散列值字典(例如MD5密码破解网站),得到某用户的密码。 加Salt可以一定程度上解决这一问题。所谓加Salt方法,就是加点“佐料”。其基本想法是这样的:当用户首次提供密码时(通常是注册时),由系统自动往这个密码里撒一些“佐料”,然后再散列。而当用户登录时,系统为用户提供的代码撒上同样的“佐料”,然后散列,转载 2015-07-21 16:51:13 · 3158 阅读 · 0 评论 -
Node.js的线程和进程
前言 很多Node.js初学者都会有这样的疑惑,Node.js到底是单线程的还是多线程的?通过本章的学习,能够让读者较为清晰的理解Node.js对于单/多线程的关系和支持情况。同时本章还将列举一些让Node.js的web服务器线程阻塞的例子,最后会提供Node.js碰到这类cpu密集型问题的解决方案。 在学习本章之前,读者需要对Node.js有一个初步的认识,熟悉Nod转载 2015-07-21 20:39:51 · 4263 阅读 · 0 评论 -
理解Node.js的事件循环(代码是异步单线程,内部实现用的还是进程和线程,基于池化的线程实现异步)
在了解node.js之前你首先需要了解的一个基本的论点是:I/O是“昂贵”的。因此对于当前的编程技术而言,最大的浪费来自于等待I/O的完成。下面列出了改善该问题的几种方式,其中的某个可以帮助你提高性能:同步:在某一时刻,一次只处理一个请求。但这种情况下,任何一个请求都会“耽误”(阻塞)所有其他的请求。fork一个新进程:对于每个请求,你启动一个新的进程来转载 2015-07-21 18:46:16 · 1396 阅读 · 0 评论 -
PHP 真正多线程的使用
PHP 5.3 以上版本,使用pthreads PHP扩展,可以使PHP真正地支持多线程。多线程在处理重复性的循环任务,能够大大缩短程序执行时间。 我之前的文章中说过,大多数网站的性能瓶颈不在PHP服务器上,因为它可以简单地通过横向增加服务器或CPU核数来轻松应对(对于各种云主机,增加VPS或CPU核数就更方便了,直接以备份镜像增加VPS,连操作系统、环境都不用安装配置),而是在于My转载 2015-07-22 16:59:47 · 1507 阅读 · 0 评论 -
PHP多进程处理并行处理任务实例
本文目的本文通过例子讲解linux环境下,使用php进行并发任务处理,以及如何通过pipe用于进程间的数据同步。写得比较简单,作为备忘录。PHP多进程通过pcntl_XXX系列函数使用多进程功能。注意:pcntl_XXX只能运行在php CLI(命令行)环境下,在web服务器环境下,会出现无法预期的结果,请慎用!管道PIPE管道用于承载简称之间的通讯数据。为转载 2015-07-22 15:15:40 · 11668 阅读 · 5 评论 -
“米粉节”背后的故事——小米网抢购系统开发实践
摘要:今年4月的“米粉节”对小米网来说意义非凡,是其彻底重构后迎来的一次全面压力测试,涉及网站前端、后台系统、仓储物流、售后等各环节。高并发的负载能力、稳定性、准确性等已不是问题,灵活性与可运营性成为关键。2014年的米粉节2014年4月9日凌晨,我和同事们对小米网的抢购系统做了最后的检查与演练。几个小时后,小米网今年开年来最重要的一次大型活动“米粉节”就要开始了。这次米粉转载 2015-09-13 10:08:03 · 1510 阅读 · 0 评论 -
图片防盗链
所谓盗链就是指其他网站把我们站点的文件链接帖到他们站上,这样白白占用我们的带宽。访问对于网站盗链行为,是非常不道德的。要实现防盗链,我们就得在IIS处理URL时拦截。效果图:未加防盗链之前:hm是我的机器名,用http://hm/myweb/default.aspx和http://localhost/myweb/default访问结果一样。这幅图片是任人宰割的。加了防盗转载 2015-09-14 18:18:55 · 587 阅读 · 0 评论 -
REST 架构该怎么生动地理解?
@Ivony 老师的一句话概括很精辟:URL定位资源,用HTTP动词(GET,POST,DELETE,DETC)描述操作。--- 简洁版 ---0. REST不是"rest"这个单词,而是几个单词缩写。但即使那几个单词说出来,也无法理解在说什么 -_-!! (不是要贬低人,是我自己也理解困难);1. REST描述的是在网络中client和server的一种交互形式;REST转载 2015-07-21 15:10:56 · 677 阅读 · 0 评论 -
彻底理解webservice SOAP WSDL
原文: http://wenku.baidu.com/view/f87b55f19e31433239689314.htmlWebServices简介先给出一个概念 SOA ,即Service Oriented Architecture ,中文一般理解为面向服务的架构,既然说是一种架构的话,所以一般认为 SOA 是包含了运行环境,编程模型,架构风格和相转载 2015-07-21 15:05:22 · 8232 阅读 · 0 评论 -
常见的三种Web服务架构
相互竞争的服务架构The Competing Architectures摘自《RESTful Web Services中文版》我们已经给出了“不同Web服务会有不同做法”的两个主要问题,现在要据此对不同风格的Web服务进行分类了。根据我的研究,常见的Web服务架构主要有三种:REST式架构、RPC式架构和REST-RPC混合架构。下面依次对它们进行介绍。RE转载 2015-07-20 12:32:25 · 1251 阅读 · 0 评论 -
基于NodeJS的前后端分离的思考与实践(六)Nginx + Node.js + Java 的软件栈部署实践
淘宝网线上应用的传统软件栈结构为 Nginx + Velocity + Java,即:在这个体系中,Nginx 将请求转发给 Java 应用,后者处理完事务,再将数据用 Velocity 模板渲染成最终的页面。引入 Node.js 之后,我们势必要面临以下几个问题:技术栈的拓扑结构该如何设计,部署方式该如何选择,才算是科学合理?项目完成后,该如何切分流量,对运维来说才算是方转载 2015-07-15 12:23:25 · 4356 阅读 · 0 评论 -
在Java项目中拥抱Nodejs — 使用gruntjs编译typescript,并将生成的js合并、压缩
作为一个Java程序员,做的是Java项目,为什么需要了解Nodejs,并且还要拥抱它?这里的Java项目,特指java web项目。如果是纯java项目,并不是很需要它,但如果是有很js/css/coffeescript/typescript/less/sass这样的文件的项目时,也许你就需要Nodejs了。Nodejs是一个平台,可以让我们写服务器端的代码,它内部使用了goog转载 2015-07-15 12:26:30 · 5800 阅读 · 0 评论 -
基于NodeJS的全栈式开发(基于NodeJS的前后端分离)
前言 为了解决传统Web开发模式带来的各种问题,我们进行了许多尝试,但由于前/后端的物理鸿沟,尝试的方案都大同小异。痛定思痛,今天我们重新思考了“前后端”的定义,引入前端同学都熟悉的NodeJS,试图探索一条全新的前后端分离模式。AD:随着不同终端(Pad/Mobile/PC)的兴起,对开发人员的要求越来越高,纯浏览器端的响应式已经不能满足用户体验的高要求,转载 2015-07-15 12:36:34 · 1002 阅读 · 0 评论 -
Java 开发者如何入门 Node.js 英文原文:Getting Started with Node.js for the Java Developer
首先, 我必须得承认,作为一个有着十多年开发经验的java开发者,我已经形成了解决绝大部分问题的固有套路,尽管它们很多时候显得笨重和繁琐。 比如说如果要读取一个文件,那应该就是初始化一个BufferedReader 实例并传入一个FileReader,这几乎是顺理成章的,我在很多自认为算得上“企业级”的项目中编写这样的代码并且很享受这个过程,可以说我就是一个对其他语言不屑一顾的java脑残粉。转载 2015-07-15 12:41:38 · 988 阅读 · 0 评论 -
PHP vs Node.js 深入讨论
第一轮:起步第二轮:帮助和支持第三轮: 语言语法第四轮:开发工具第五轮:环境第六轮:集成第七轮:托管和部署第八轮:性能第九轮:开发者激情第十轮:前景网络正在处于一个日新月异的发展时代。服务器端开发人员在选择语言的时候非常困惑,有长期占主导地位的语言,例如C、Java和Perl,也有专注于web开发的语言,例如Ruby、Clojure和Go。只要你的项目运行良好,你的选择就显得没有那么重转载 2015-07-17 12:29:09 · 721 阅读 · 1 评论 -
REST无状态的理解
Representational State Transfer的缩写。我对这个词组的翻译是"表现层状态转化"。降低开发的复杂性,提高系统的可伸缩性资源表现层状态转化 资源REST的名称"表现层状态转化"中,省略了主语。"表现层"其实指的是"资源"(Resources)的"表现层"。所谓"资源",就是网络上的一个实体,或者说是网络上的一个具体信息。它可以是一段转载 2015-07-20 12:42:07 · 950 阅读 · 0 评论 -
白话REST-识别真假REST
大家对REST的认识? 谈到REST大家的第一印象就是通过http协议的GET,POST,DELETE,PUT方法实现对url资源的CRUD(创建、读取、更新和删除)操作。比如http://www.aizher.com/c2/(读取)仍然保持为 [GET] http://www.aizher.com/c2/http://www.aizher.com/c2/cre转载 2015-07-20 13:32:32 · 843 阅读 · 0 评论 -
REST 架构风格
目前基于网络应用的架构风格主要有三种: RPC架构风格 将服务器看作是由一些过程组成,客户端调用这些过程来执行特定的任务。SOAP就是RPC风格的一种架构。过程是动词性的(做某件事),因此RPC建模是以动词为中心的。 分布式对象架构风格 认为服务器是由一些对象和对象上的方法组成,客户端通过调用这些对象上的方法来执行特定的任务。并且客户端调用这些对象上的方法转载 2015-07-20 12:14:38 · 545 阅读 · 0 评论 -
hexo安装教程
由于习惯了StackEdit的markdown,而Jekyll的markdown不知道为什么开了GFM却不是全部插件都能用的感觉,然后又考虑到Jekyll渲染很花时间。正好又看到了Hexo,于是就把github pages转Hexo了(说到底就是任性=。= 安装Node.jsNode.js官网(https://nodejs.org/ )下载安装即可。安装Hexo转载 2016-04-09 16:36:47 · 1388 阅读 · 0 评论