自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(90)
  • 收藏
  • 关注

转载 实战Asp.Net Core:DI生命周期

title: 实战Asp.Net Core:DI生命周期date: 2018-11-30 21:54:52---1、前言Asp.Net Core 默认支持 DI(依赖注入) 软件设计模式,那使用 DI 的过程中,我们势必会接触到对象的生命周期,那么几种不同的对象生命周期到底是怎么样的呢?我们拿代码说话。关于 DI 与 IOC:个人理解:IOC(控制反转) 是目的(降低代码、...

2019-01-28 17:09:00 441

转载 实战Asp.Net Core:部署应用

1、前言某一刻,你已经把 .Net Core 的程序写好了。接下来,还可以做什么呢?那就是部署了。作为一名开发工程师,如果不会部署自己开发的应用,那么这也是不完整的。接下来,我们就来说说,如何部署我们的 .Net Core 应用程序(主要是 Asp.Net Core 应用)。2、Asp.Net Core 的部署方式对于虚拟机中执行的语言来说,大都会有 SDK(Software D...

2019-01-28 17:08:00 204

转载 利用Angular实现多团队模块化SPA开发框架

0、前言当一个公司有多个开发团队时,我们可能会遇到这样一些问题:技术选项杂乱,大家各玩各业务重复度高,各种通用api,登录注销,权限管理都需要重复实现(甚至一个团队都需要重复实现)业务壁垒,业务之间的互通变得比较麻烦部署方式复杂,多个域名(或IP地址)访问,给用户造成较大的记忆难度多套系统,风格难以统一等等...当然,解决方式有不少。以下就来讲解下我们这边的一种解决方...

2017-11-23 13:48:00 293

转载 Express异步进化史

1、导言在 Javascript 的世界里,异步(由于JavaScript的单线程运行,所以JavaScript中的异步是可以阻塞的)无处不在。Express 是 node 环境中非常流行的Web服务端框架,有很大比例的 Node Web应用 采用了 Express。当使用 JavaScript 编写服务端代码时,我们无可避免的会大量使用到异步。随着 JavaScript、Node...

2017-09-09 13:07:00 171

转载 这些年我们处理过的跨域

同源策略在说跨域之前,我们需要先了解下 同源策略。它是一个规范(Netscape 1995年提出),并没有指定具体的使用范围和实现方式。为了保证使用者信息的安全,防止恶意网站篡改用户数据,一些常见的Web技术都默认采用了同源策略(如Silverlight, Flash, XMLHttpRequest, Dom等)。那如何判断同源呢?相同的协议相同的域名相同的的端口号我们...

2017-07-08 13:02:00 127

转载 Docker容器管理平台Humpback进阶-私有仓库

Docker私有仓库在 Docker 中,当我们执行 docker pull xxx 的时候,可能会比较好奇,docker 会去哪儿查找并下载镜像呢?它实际上是从 registry.hub.docker.com 这个地址去查找,这就是Docker公司为我们提供的公共仓库,上面的镜像,大家都可以看到,也可以使用。所以,我们也可以带上仓库地址去拉取镜像,如:docker pull re...

2017-06-09 08:41:00 153

转载 你真的理解正则修饰符吗?

0、前言一段代码引发的思考:var r = /\d/g;console.log(r.test('1'));console.log(r.test('1'));console.log(r.test('2'));console.log(r.test('2'));先看看如上的代码,不要执行,自己先猜测下结果。1、正则修饰符正则在各个语言中,实现的标准并不完全一致。我们这里就讨论...

2017-06-01 09:21:00 94

转载 一个简单易用的容器管理平台-Humpback

什么是Humpback?项目开源地址在此: Humpback Source,觉得有用或者有趣,欢迎给个star~在回答这个问题前,我们得先了解下什么的 Docker(哦,现在叫 Moby,文中还是继续称 Docker)。在 Docker-百度百科 中,对 Docker 已经解释得很清楚了。简单来说,Docker可以帮助我们以容器的方式快速运行APP。由于一个镜像就是一个完整的 ...

2017-05-16 08:48:00 284

转载 【译】参考手册-React组件

react version: 15.4.2React.Component组件能够让你将UI拆分为多个独立自治并可重用的部分。在 React 中提供了 React.Component。概述React.Component 是一个抽象基类,直接引用 React.Component 无太大意义。反而,我们会用子类来继承它,并至少定义一个 render() 方法。通常您将使用纯 Java...

2017-04-14 17:56:00 96

转载 【译】快速起步-组件与属性

react version: 15.5.0组件与属性组件允许您将UI拆分为多个独立的,可重用的部分。概念上,组件就类似于 JavaScript 函数。它们接收任意的输入(props),返回用于描述屏幕显示内容的 React elements。函数式组件和类组件最简单定义组件的方式,是编写一个 JavaScript 函数:function Welcome(props) { ...

2017-04-14 17:55:00 59

转载 【译】快速起步-渲染元素

react version: 15.5.0渲染元素Elements 是 React 应用中的最小单元。一个元素定义了你会在屏幕上看到什么:const element = <h1>Hello, world</h1>;React 元素是很容易创建的纯对象,不同于浏览器的DOM元素。React DOM 负责从 React元素来更新DOM。注意:人们可能会...

2017-04-14 17:54:00 93

转载 【译】快速起步-状态和生命周期

version: 15.4.2状态和生命周期到目前为止,我们仅学到了一种更新UI的方法。我们通过调用 ReactDOM.render() 来改变渲染输出:function tick() { const element = ( <div> <h1>Hello, world!</h1> <h2>It ...

2017-04-14 17:54:00 87

转载 【译】快速起步-JSX简介

react version: 15.5.0快速起步-JSX简介思考这个变量申明:const element = <h1>Hello, world!</h1>;这个有趣的标签语法既不是字符串也不是HTML。它被称之为 JSX,是 JavaScript 的语法扩展。我们建议使用它来定义React的UI展示。JSX 可能会让你想起模板语言,但它可以使用 Jav...

2017-04-14 17:52:00 87

转载 【译】高级指南-深入JSX

title: 高级指南-深入JSXdate: 2017-4-5 17:13:09---深入JSX从根本上来讲,JSX 仅仅是提供 React.createElement(component, props, ...children) 方法的语法糖。JS代码:<MyButton color="blue" shadowSize={2}> Click Me<...

2017-04-06 11:05:00 95

转载 记一次MongoDB裸奔

导言大意失荆州,裸奔的 MongoDB 被黑了。虽然并不是什么非常重要的数据,但也给自己敲响的一个警钟。虽然我们平时不容易接触到数据安全,但我们在开发,部署项目的时候,一定要养成良好的安全意识。根据木桶原理,整个系统的安全性,取决于整个系统最薄弱的环节。所以,我们要尽可能多的考虑更多组成部分的安全性。事件发现本月初,发生了大家所熟知的 MondoDB赎金事件。当时本人也保持了一定...

2017-01-21 11:23:00 117

转载 CORS详解

## 0、关于CORS说到CORS,就不得不先了解跨站HTTP请求(Cross-site HTTP request)。跨域HTTP请求是指发起请求的资源所在域不同于该请求所指向资源所在的域的HTTP请求。正如大家所知,出于安全考虑,浏览器会限制脚本中发起的跨站请求。使用XMLHttpRequest发起HTTP请求必须遵守同源策略。 具体而言,Web 应用程序能且只...

2016-04-14 09:45:00 110

转载 如何用Node编写命令行工具

0、 命令行工具当全局安装模块之后,我们可以在控制台下执行指定的命令来运行操作,如果npm一样。我把这样的模块称之为命令行工具模块(如理解有偏颇,欢迎指正)1、用Node编写命令行工具在Node中,我们很容易就能实现一个命令行工具。通过借助npm install -g安装,就能直接调用命令行工具了。1.1、创建项目首先,命令行也是一个node程序,那么首先通过npm ...

2016-04-14 09:42:00 149

转载 JSONP详解

0、关于JSONP什么的JSONPJSONP(JSON with Padding)是资料格式 JSON 的一种“使用模式”,可以让网页从别的网域要资料。另一个解决这个问题的新方法是跨来源资源共享。(参考:https://zh.wikipedia.org/wiki/JSONP)JSONP的起源曾经的Ajax不能跨域请求(现在的也不能,不过有cors)Web上使用sc...

2016-04-14 09:41:00 107

转载 Web API接口之Geolocation

0、关于GeolocationGeolocation,地理位置API。用于获取用户的位置信息。它不算是现有的HTML5标准的“直系”成员,但是是W3C的一个标准。它几乎就是一个真正的JavaScript API!1、位置相关1.1、经纬度表示位置要想知道用户的位置,就需要有一个坐标系统,这就是我们的经纬度。一般我们用度/分/秒表示经纬度,如果需要将经纬度转换为小数,可以使...

2016-04-14 09:40:00 182

转载 认识AMD、CMD、UMD、CommonJS

0、导言JavaScript的生态系统一直在稳步增长,当各种组件混合使用时,就可能会发现不是所有的组件都能“和平共处”,为了解决这些问题,各种模块规范就出来了。1、AMD(Asynchromous Module Definition - 异步模块定义)AMD是RequireJS在推广过程中对模块定义的规范化产出,AMD是异步加载模块,推崇依赖前置。define('modu...

2016-04-14 09:38:00 174

转载 Web API接口之FileReader

Web API接口之FileReader0、导言在给网站编写 JavaScript 代码时,也有很多可用的 API。 WEB API 参考。1、FileReader使用FileReader对象,web应用程序可以异步的读取存储在用户计算机上的文件(或者原始数据缓冲)内容。兼容IE10+,FF和Chrome。Safari和Opera不支持。2、如何读取文件?...

2016-04-14 09:36:00 107

转载 浅析12306前端优化点

关于12306中国铁路客户服务中心(12306.cn),相信大家都不陌生。作为一个超大型的类电商网站,具体业务不予置评,但从前端设计来看,却有诸多的不足。12306订票首页分析12306首页(https://kyfw.12306.cn/otn/)请求达到32个,累计文件大小近800k。其中有一半是图片资源,大小达到444kb。另外有6个css文件请求,特别的是有2...

2015-12-26 09:04:00 76

转载 Thrift简单实践

0、什么是RPCRPC(Remote Procedure Call - 远程过程调用),是通过网络从远程计算机上请求服务,而不需要了解底层网路技术的细节。简单点说,就是像调用本地服务(方法)一样调用远端的服务(方法)。RPC与REST的区别RPC是一种协议,REST是一种架构风格。RPC以行为为中心,REST以资源为中心。当加入新功能时,RPC需要增加更多的行为,并进行调...

2015-12-10 16:13:00 131

转载 跟我学Angular2(1-初体验)

0、导言Angular1作为最流行的前端MV*框架,给前端开发带来了极大的便利性。但是,仍然有许多不好的地方已经很难再改变了。Angular团队根据WEB发展的趋势和Angular1中积累的经验来开发了一个全新的Angular,也就是Angular2。1、优势Angular2做了很激进的变化,带来的成果也是显而易见的。极大的提高了性能更强大的模块化改进的依赖注...

2015-12-10 16:10:00 69

转载 JavaScript之糟粕

0、导言在上篇《JavaScript之毒瘤》中,列举了一些在JavaScript中难以避免的问题特性。本篇将会展示JavaScript中有问题的特性,但我们很容易就能便面它们。通过这些简单的做法,让JavaScript称为一门更好的语言。1、==JavaScript有两组相等运算符。 === 和 !==,以及 == 和 !==。 === 和 !== 不会进行类型转换,一般会按...

2015-12-10 16:07:00 112

转载 JavaScript之毒瘤

0、导言JavaScript中有许多难以避免的问题特性。接下来就一一揭示。1、全局变量在所有JavaScript的糟糕特性中,最为糟糕的就是全局变量的依赖。全局变量使得在同一个程序中运行独立的子程序变得更难。2、作用域JavaScript是类C的语法,但是却没有提供类C的块级作用域。3、自动插入分号JavaScript有一个自动修复机制,会试图通过自动插入分号...

2015-12-10 16:06:00 85

转载 CSS布局(下)

1、CSS布局之浮动1.1、float之图文混排float的意思就是元素漂浮在上层。可以直接通过设置float属性实现图文混排,代码如下:<div style="width:200px;height:200px;border: 1px solid gray;"> <img src="" alt="" style="width:100px;heigh...

2015-12-10 16:04:00 76

转载 CSS布局(上)

CSS布局(上)1、CSS布局之display1.1、dispalydispaly是CSS中最重要的用于控制布局的属性,每个元素都有一个默认的display,大多数元素的默认值通常是block(块级元素)或inline(行内元素)。另一个常用的display是none。一些特殊元素的默认值就是它,如script、link等。1.2 display:none ...

2015-12-10 16:03:00 81

转载 ES6入门系列三(特性总览下)

0、导言最近从coffee切换到js,代码量一下子变大了不少,也多了些许陌生感。为了在JS代码中,更合理的使用ES6的新特性,特在此对ES6的特性做一个简单的总览。1、模块(Module) --Chrome测试不可用在ES6中,有class的概念,不过这只是语法糖,并没有解决模块化问题。Module功能则是为了解决模块化问题而提出的。我们可以使用如下方式定义模块:11...

2015-11-07 16:05:00 86

转载 ES6入门系列四(测试题分析)

0、导言ES6中新增了不少的新特性,来点测试题热热身。具体题目来源请看:http://perfectionkills.com/javascript-quiz-es6/。以下将一题一题来解析what和why。1、题目一(function(x, f = () => x) { var x; var y = x; x = 2; return [x, ...

2015-11-07 14:23:00 551

转载 CSS3入门之转换

CSS3入门之转换1、CSS3 转换1.1、转换是什么,能实现哪些效果?转换是使元素改变形状、尺寸和位置的一种效果,主要能实现的效果如下:移动缩放转动拉长拉伸1.2、浏览器兼容CSS3的转换属性为 transform ,IE10+,Firefox,Chrome,Opera,Safari等现代浏览器支持transform属性,IE9需要-...

2015-11-07 14:22:00 80

转载 Angular从0到1:function(下)

1、前言2、function(下)2.13、angular.isArray(★★)angular.isArray用于判断对象是不是数组,等价于Array.isArrayconsole.log(angular.isArray([])); // trueconsole.log(angular.isArray({0: '1', 1: '2', length: 2})); /...

2015-09-25 16:42:00 98

转载 Angular从0到1:function(上)

1、前言Angular作为最流行的前端MV*框架,在WEB开发中占据了重要的地位。接下来,我们就一步一步从官方api结合实践过程,来学习一下这个强大的框架吧。Note:每个function描述标题之后的★标明了该function的重要程度(1~5星)。2、function(上)Angular封装了一系列公共方法,帮助我们更简单的使用JS。这些就是Angular的funct...

2015-09-25 16:41:00 93

转载 CSS3入门之文本与字体

1、CSS3文本效果1.1、text-shadow文本阴影语法:text-shadow: h-shadow v-shadow blur color;(<水平阴影>,<垂直阴影>,[模糊距离],[阴影颜色])示例:<h1 style="text-shadow: 5px 5px 2px green;">我是文本阴影</h1>...

2015-08-22 11:10:00 59

转载 CSS3入门之边框与背景

CSS3入门之边框与背景1、前言CSS3作为CSS的最新版本,在展示效果上有非常大的提升,接下来,我们就一起领略一下CSS3的风采吧。2、CSS3边框2.1、border-radius(用于设置圆角边框)在CSS2时代,要想实现圆角边框,是一件非常麻烦的事情。一种实现方式是使用一个背景图片,为了实现伸缩效果,还需要至少3张图片拼凑,相当麻烦。另外一种实现...

2015-08-15 11:24:00 75

转载 JavaScript的深拷贝的实现

JavaScript的数据类型简单数据类型stringnumberbooleanfunctionnullundefined复杂数据类型StringNumberBooleanFunctionDateArrayRegExpObject各种类型的深复制方式:先来看看简单类型的复制方式://string...

2015-08-05 17:29:00 45

转载 Angular开发Tips

1、在使用$routeProvider的时候,需要让模块依赖ngRoute,否则会提示找不到服务,示例:angular.module('module1', ['ngRoute']).config(['$routeProvider', function($routeProvider){ //do something...}]);2、在页面中需要绑定有风险的html...

2015-08-04 16:17:00 203

转载 NPM使用详解(下)

NPM使用详解(下)在浏览本文之前,建议您先浏览《NPM使用详解(上)》在上一文中,罗列出了最常用的NPM命令,那么本文将继续分解剩下的NPM命令1、access2、adduser//用于启动在指定的git仓库添加用户的向导npm adduser [--registry=url] [--scope=@orgname] [--always-auth]//...

2015-07-24 16:45:00 172

转载 Sass学习之路:注释、变量以及导入

前言由于.sass不兼容CSS代码,所以以下内容完全使用.scss的语法。Sass注释Sass中除了提供CSS中的标准注释之外,还提供了一种静默注释:/* 我是标准注释 */// 我是静默注释标准注释大多数情况下(一种例外:设置输出风格为compressed)是会生成到最终的CSS中的,而静默注释的话,只是Sass的注释,是不会被生成到CSS文件中的。如果...

2015-07-24 16:43:00 112

转载 Sass学习之路:Sass、Compass安装与命令行

导言CSS不是一门真正意义上的编程语言,很多编程语言理所当然的特性(比如变量),都不被支持。同时再开发模块化的web项目的时候,也要避免相互干扰。为了弥补CSS的这些不足,就产生了CSS预处理器,Sass则是其中的佼佼者。什么是SassSass是最成熟、稳定、强大、专业的CSS扩展语言(官方解释)。直白点,Sass就是一个非常好用的CSS预处理器,为css引入部分编程语言的特...

2015-07-18 13:25:00 68

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除