- 浏览: 20048 次
- 性别:
- 来自: 上海
最新评论
-
giraffeql:
独具匠心
《大型分布式网站架构设计与实践》 试读 -
giraffeql:
...
《大型分布式网站架构设计与实践》 试读 -
alexqdjay:
...
spring mvc
文章列表
简介
injector是用来做参数自动注入的,例如
functionfn ($http, $scope, aService) {
}
ng在运行时会把$http, $scope, aService 自动作为参数传入进行执行。
其实很容易想明白,injector做了两件事
缓存那些service,以后作为参数注入
分析参数列表,找到需要的参数注入
下面源码分析如何实现上面两件事情。
结构
createInjector -> createInternalInjector return: instanceInjector
所以 createInjector() ...
试读《分布式服务框架原理与实践》
随着移动互联网产业的兴起和发酵,后端技术也悄然发生着巨大的改变,以往的企业级应用不同的是面对需求变化逐渐变快,访问压力指数增长,安全效率及维护性要求达到新的高度,如何能过应对这些问题并迅速而低风险地发布迭代已经是当务之急。变繁为简、提升系统的敏捷度是不错的应对之策,由此“微服务“的概念就迅速蹿红。
从字面上看”微服务“分为”服务“和”微“,服务化的概念由来已久,而”微“即将服务归类并最小化,相信”尾大不掉“这个词都听过,那么道理是差不多的。
作者在序中阐述了自己的一个项目微服务化的前因和后果, ...
写此书目的
这边前言介绍了作者写此书的出发点,或者说这本书是怎么来的。
作者本来的目的是觉得spring太重,尝试自己写个类似的轻量级的web框架,然后边coding边把过程中遇到的问题及值得记录的地方整理成了一 ...
第1章 Swift介绍
1.1 swift是什么
swift是苹果公司在2014向开发者发布的一门语言。可以用来开发IOS和OS X平台上开发应用程序。它兼容苹果之前的开发语言Objective-c,并计划最终取代Objective-C。
1.2 基本语法
1.2.1 变量&常量
var声明变量,let声明常量。
例子:
var count:Int //声明一个Int型
swift是一种强类型语言,所以编译阶段就严格控制类型,两种类型不能混合操作。如,int和float不能混合运算。
类型推断,上面的例子里通过冒号 ...
简介
作者是一号店技术总监,从身临其境的管理感受出发比较接近实际。但是一号店的管理是不是很好这个我也没有待过所以没法评价,不管怎么样确定的是最起码能学到一招半式!
第三章团队架构
3.1 从零开始 ...
React是什么
React是Facebook公司的一个前端框架,旨在代替后端如php渲染页面。它本质上是一个状态机,只关心两件事:
更新DOM
相应事件
虽然称为框架,但是它只处理mvc中的v,其他的譬如路由,数据处理,连ajax都没有,所以从某种意义上讲它可以很好的融入到其他框架中。
React非常注重效率,它的高效在于它的所有的状态改变先更新虚拟dom,再用它牛x的算法比较虚拟dom与现在dom区别,对比完区别再去最小化改变现有dom使得页面重绘最小化,最迅速。
这样说不知道清楚没有!或者从现有的缺点讲,现有的一次操作触发界面更新,但是这个更新又触发了另个更新,使 ...
我对Node.js的看法
node.js是基于chrome的js运行引擎(俗称v系列, 特点就是快)运行的服务器脚本语言,用于方便地搭建响应速度快、扩展方便的网络服务。之所以快速高效得益于它的非阻塞IO和便捷的事件驱动。
为什么我们要使用Node.js?
处理高并发能力强,而且基于函数式编程使得异步回调变的非常简单。
还有一点就是前后分离时在后端的web层到底是应该谁来开发的问题,因为web层除了拼页面外还有一些关联前端比较多的工作,这部分工作交由后端做呢,不能很好的理解其中的一些功能需求及一些技术,拿拼页面讲,后端人员真的只是拿做好的html进 ...
受瀏覽器的同源策略限制,JavaSript只能請求本域內的資源。跨域資源共享(Cross-Origin Resource Sharing, CORS)是为解决Ajax技術難實現跨域問題而提出的一個規範,這個規範試着從根本上解决安全的跨域資源共享問題。在此之前,解决此類問題的途徑往往是服務器代理、JSONP等,治標不治本。目前基本所有瀏覽器都已經支持該規範。
一個域是由schema、host、port三者共同組成,與路徑無關。所謂跨域,是指在http://example-foo.com/域上通過XMLHttpRequest對象調用http://example-bar.com/域上的資源。COR ...
概述
本书主要是对当前网站中使用到的分布式方案及其武器的介绍和简单使用, 列举了如:分布式缓存、持久化存储、分布式消息、搜索引擎、CDN系统、负载均衡、运维自动化、实时计算系统、离线计算系统、分布式文件系统、日子收集系统、监控系统、数据仓库等。
试读章节二,主要对分布式缓存memcache、分布式存储MySQL、HBase、Redis使用、分布式消息系统、垂直搜索引擎。
1.分布式缓存
1.1.memcache简介和安装
memchache是一个开源的高性能分布式对象缓存系统,可以在应用中减少对数据库的访问,提供应 ...
css 顶部,js底部
js,css进行压缩
CDN静态文件
缓存
图片合并,css sprite
尽量定高,避免高度改变导致重新渲染
img设定尺寸,防止高度变化
使用页面模板, <scirpt type='text/html'></script>
使用font icon
使用css3, gradient+filter
css class复用,减少字符和统一性 .span1 .full-height
延迟初始化, 事件监听
ajax 异步加载部分数据
减少遍历DOM
减少事件绑定
尽量使用元素特性,fo ...
第二章主要是讲网站的演化过程,即怎么样从一个小网站演化成一个大型网站的架构变化。
1. 大型网站的定义,大数据量和大访问量具备两者才能算大型网站。
2. 演化过程
2.1 单机阶段
一台服务器兼顾了web服务 ...
function getPath() {
var scripts = $('script');
var jsPath = scripts[scripts.length-1].src;
var jsPaths = jsPath.split('/');
var jsName = jsPaths[jsPaths.length-1];
return jsPath.replace(jsName,'');
}
原理很简单,当加载该js文件时开始运行这段代码,并且关键是可以确定最后一个加载的js文件就是本文件,综上就可以根据该文件的文件地址来设置js环境的basePath
1.关于spring mvc中 redirect 和 forward
可以使用RedirectView
还可以使用redirect: 前缀 和 forward:前缀
在redirect中传递参数,除了session中加以外还可以在model、redirectAttributes和flashMap中添加
在flashMap中添加方法如下,RequestContextUtils 获取 flashMapManager, 此对象可以save flashMap, 在下个请求的controller 中调用flashMapManager的outFlashMap获取参数
在redirec ...
一、副本集(replSet)
在普通的主从关系的部署模式已经满足不了需求,所以推介副本集形式,好处之一是在主节点down了以后可以自动地在众多的secondary的节点中推选出主节点,实现自动切换。
配置方式如下:
创建rs.conf启动配置文件
port = 27017
dbpath = /data/db
logpath = /log/log.log
fork = true
replSet = test
主要的参数设置
启动mongodb
./mongod -f rs.conf
任意进入一个副本集mongo
config={ ...
众所周知,可能有些人未必知道,pdu发送短信是有字数限制的,信息体长度不超过140字节,如果采用uni编码一个字需要两个字节算的话正好70个字,这就是为什么以前的手机每条短信只能发送差不多70个字,那为什么现在就可以发送很长的短信呢?原因是现在设备都支持长短信(pdu分包)的协议,即像http包一样拆分发送到达以后组装成一个完整的请求返回。好了废话不多说了下面介绍拆分pdu的协议,知道了协议编写长短信发送的代码就是小case。
发送协议介绍
SCA(Service Center Address)
PDU-Type
MR(Message Referenc ...