自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

不断成长的我

记录成长的步伐,分享所得与错误,不断向前

  • 博客(154)
  • 资源 (10)
  • 收藏
  • 关注

原创 优化JS中的Async/Await 使用

JS中调用 async 函数时会返回一个 Promise 对象(隐式转换)。当async 函数返回一个值时,Promise 的 resolve 方法会负责传递这个值,当 async 函数抛出异常时,Promise 的 reject 方法也会传递这个异常值。 在async 函数中如果遇见 await 表达式,则 async 函数会暂停执行,等待表达式中的 Promise 解析完成后继续执行 asyn

2017-12-28 15:46:30 4124

原创 Scala学习笔记--apply 方法详解

apply定义在 object 中定义在 class 或 trait 中scala 的函数对象unapply关于scala中的特殊方法apply,先给一个比较通俗的解释。当对象(伴生对象)以函数的方式进行调用时,scala 会隐式地将调用改为在该对象上调用apply方法。例如: Demo(“hello”) 实际调用的是 Demo.apply(“hello”), 因此apply方法又被称为注

2017-11-15 10:39:04 8697 2

原创 Git 常用命令速记

初始化本地git仓库(创建新仓库)git init 配置用户名git config --global user.name "xxx" 配置邮件git config --global user.email "[email protected]" git status等命令自动着色git config --global

2017-11-14 14:17:18 669

转载 Linux系统中crontab命令学习

前一天学习了 at 命令是针对仅运行一次的任务,循环运行的例行性计划任务,linux系统则是由 cron (crond) 这个系统服务来控制的。Linux 系统上面原本就有非常多的计划性工作,因此这个系统服务是默认启动的。另外, 由于使用者自己也可以设置计划任务,所以, Linux 系统也提供了使用者控制计划任务的命令 : crontab 命令。一、crond简介crond是linux下用来周期性的

2017-11-09 18:00:12 978

原创 Java的类路径讲解以及参数-cp的用法

ClassPathjava 是通过 java虚拟机来解释运行的, 也就是通过 java 命令。 javac 编译生成的 .class文件就是虚拟机要执行的代码,,称之为字节码(bytecode), 虚拟机通过 classloader来装载这些字节码, 也就是通常意义上的类. 这里就有一个问题, classloader 从哪里知道 java 本身的类库及用户自己的类在什么地方呢? 或者有着缺省值(当

2017-11-09 17:20:06 3083

原创 MacOS 下配置命令行下使用Sublime打开文件

在命令行下执行如下语句$ ln -s /Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl /usr/local/bin/.$ echo $PATH如果PATH路径中没有 /usr/local/bin/ ,则添加如下语句到 .bashrc 或者 .zshrc 文件中PATH=$PATH:/usr/local/bin/;

2017-11-03 11:16:21 1050

翻译 React Router v4 版本学习指南

React Router v4 版本学习指南React Router 事实上是React官方的标准路由库。当你在一个多视图的React应用中来回切换,你需要一个路由来管理那些URL。React Router 专注于此,同步保持你应用的UI和URL。这个教程主要给你介绍React Router 的v4版本,以及你使用它可以做的大部分事情。开场白React 是一个很流行的库,用于在客户端渲染创建的单页应

2017-11-01 14:06:26 3635

转载 Java 8 默认方法和多继承

Java 8 默认方法和多继承以前经常谈论的Java对比c++的一个优势是Java中没有多继承的问题。 因为Java中子类只能继承(extends)单个父类, 尽管可以实现(implements)多个接口,但是接口中只有抽象方法,方法体是空的,没有具体的方法实现,不会有方法冲突的问题。这些都是久远的说法了,自从今年Java 8发布后, 接口中也可以定义方法了(default method)。 之所以

2017-10-16 17:30:40 456

原创 Linux编译安装Python3.X版本并保留系统自带的Python2.X版本

以CentOS为例子:yum install wgetyum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-develcd /usr/local/srcwget https://www.python.org/ftp/python/3.6.0/Python-3.6

2017-10-14 16:55:41 1053

转载 关于渐进式(PWA) Web 应用,你应该知道的一切

渐进式 Web 应用是利用现代浏览器的特性,可以添加到主屏幕上,表现得像原生应用程序一样的 Web 应用程序。本教程将用实例和一个演示应用程序,一步一步向你展示关于渐进式 Web 应用程序你应该知道的一切。为了不从零开始,我们打算用我们最近做过的一个自拍应用程序,并逐步创建它。

2017-09-12 17:11:47 5497

原创 Nginx 配置学习记录

Nginx 配置文件主要分成四部分,每部分包含若干个指令: - main(全局设置)。main 部分设置的指令将影响其它所有部分的设置; - server(主机设置)。server 部分的指令主要用于指定虚拟主机域名、IP和端口; - upstream(上游服务器设置,主要为反向代理、负载均衡相关配置) 。upstream 的指令用于设置一系列的后端服务器,设置反向代理及后端服务器的负载均衡;

2017-09-10 10:36:38 502

原创 ReactJS组件的生命周期

先来看看官方给出的示例图,然后我们在通过代码来实际感受一下: 为了理解ReactJS中的组件的生命周期,我们通过下面的示例代码来直观的感受一下,当我们的React组件的整个生命周期都发生了哪些事件。直接上代码和运行结果吧!css代码.main { padding: 10px 50px; }.log { padding: 5px; border-bottom: 1px solid

2017-08-23 10:46:29 491

原创 Android 开发中 Intent 和 Intent 过滤器学习笔记

Android 中的 Intent 是一个消息传递对象,我们可以使用它来从其他应用,组件等发起和传递操作请求。其主要使用场景包含如下三种:启动 Activity: 通过将 Intent 传递给 startActivity(),我们可以启动新的 Activity 实例。Intent 描述了要启动的 Activity,并携带了启动Activity必要的数据,如:初始状态等等。如果我们想要在 Ac

2017-08-18 13:32:38 403

原创 Git中fetch和pull命令的区别

两者具体的区别fetch Git中的fetch命令是将远程分支的最新内容拉到了本地,但不立即将远程分支的变更合并到本地分支上。当我们执行完fetch命令后,在执行git branch命令会发现此时后本地多了一个FETCH_HEAD的分支。我们可以checkout到该分支查看远程分支的最新内容。以便于我们有机会查看远程分支都做了什么改动。 当我们检查完成后在checkout回本地分支执行merg

2017-08-04 19:46:00 3614

原创 采用Webpack构建Angular应用以及AoT支持

采用Webpack构建Angular应用程序以及AoT支持Angular支持多种代码打包方式,例如:官网示列使用的System.js,还有特别好使的Rollup,目前火的不行的Webpack,还有略显过时的Browserify等等。不过打包工具就是一个工具而已,并没有什么好坏之分,只是不同的应用场景是不适合而已。作为一个从Angular发布就一直使用至今的玩家,今天记录一下如何使用Webpack

2017-07-29 10:42:23 2718

原创 UML中时序图/用例图/状态图/协作图间的区别

UML中时序图/用例图/状态图/协作图间的区别时序图时序图用于描述对象之间的传递消息的时间顺序, 即用例中的行为顺序.当执行一个用例时, 时序图中的每条消息对应了一个类操作或者引起转换的触发事件. 在 UML 中, 时序图表示为一个二维的关系图, 其中, 纵轴是时间轴, 时间延竖线向下延伸. 横轴代表在协作中各个独立的对象. 当对象存在时, 生命线用一条虚线表示, 消息用从一个对象的生命线到另一个

2017-07-24 09:06:43 11051

原创 Nginx配置文件nginx.conf详解

Full Example Configuration先来看看官方网站给出的nginx.conf的完整示例nginx.confuser www www; ## Default: nobodyworker_processes 5; ## Default: 1error_log logs/error.log;pid logs/nginx.pid;worker_rl

2017-07-01 10:15:22 2895

原创 搭建远程Git仓库

搭建Git服务器需要准备一台运行Linux的机器,强烈推荐用Ubuntu或Debian,这样,通过几条简单的apt命令就可以完成安装。假设你已经有sudo权限的用户账号,下面,正式开始安装。第一步,安装git:$ sudo apt-get install git第二步,创建一个git用户,用来运行git服务:$ sudo adduser git第三步,创建证书登录:收集所有需要登录的用户的公钥,就是

2017-06-30 15:19:02 892

转载 nginx的配置、虚拟主机、负载均衡和反向代理--03

第3篇主要讲 URL路由重写 和 读写分离nginx中的 location 正则模块nginx中的URL重写怎么做。url重写模块,主要是在location模块面来实现,我们一点一点的看。首先看下location 正则匹配的使用。还记得之前是如何用location来定位.php文件的吗?location ~ \.php$ { fastcgi_pass 127.0.0.1:9000

2017-06-11 21:03:23 402

转载 nginx的配置、虚拟主机、负载均衡和反向代理--02

基于域名的虚拟主机假设我们在本地开发有3个项目,分别在hosts里映射到本地的127.0.0.1上:127.0.0.1 www.iyangyi.com iyangyi.com127.0.0.1 api.iyangyi.com127.0.0.1 admin.iyangyi.com有这样3个项目,分别对应于web根目录下的3个文件夹,我们用域名对应文件夹名字,这样子好记:/Users/yangyi/

2017-06-11 20:53:39 509

转载 nginx的配置、虚拟主机、负载均衡和反向代理--01

nginx启动和关闭按照惯例,先说下各个平台的配置情况:centos平台,源码安装的:/usr/local/nginx/nginx # 启动/usr/local/nginx/nginx -s reload #平滑重启/usr/local/nginx/nginx.conf #配置文件mac平台,我用brew安装的。/usr/local/bin/nginx # 启动/usr/local/bin/n

2017-06-11 20:38:29 354

原创 Mysql数据库表查询中 inner join,left join,right join 详解

首先借用官方的解释下: inner join(等值连接、内连接):只返回两个表中联结字段相等的行; left join(左联接):返回包括左表中的所有记录和右表中联结字段相等的记录; right join(右联接):返回包括右表中的所有记录和左表中联结字段相等的记录。 比如我们有xs、cj两个表 |–xs表 |————— id name 1 张三 2 李

2017-05-25 21:31:50 1345

原创 MongoDB学习笔记001--常用操作速查笔记

连接MongoDB在本地学习和操作时,请先确保MongoDB服务已经启动。具体方法:切换到MongoDB的安装目录,在安装目录的bin目录下执行mongod命令即可。我们可以使用MongoDB支持的平台(Java, NodeJS, PHP, …)或者 MongoDB shell 来连接 MongoDB 服务器。本文采用 MongoDB Shell 来进行学习。 标准 URI 连接语法:mongod

2017-05-02 14:31:57 727

原创 移动端Web界面滚动性能优化: Passive event listeners

移动端Web界面滚动性能优化: Passive event listeners今晚在阅读VueJS2的源码时,发现了下面的一段代码,感觉自己瞬间知识储备不够用了,所以决定深入研究一下,故总结得出此文。关于VueJS的源码解读,之后会整理出学习笔记。这里先简单记录一些碎片化的知识点。 try { const opts = {} Object.defineProperty(opts, '

2017-04-16 22:16:03 12206 5

原创 Webpack构建项目时将vendor与app目录下的文件分开打包

当我们开发一个单页应用时,常见的优化做法是生成两个文件:vendor.js:包含一些第三方依赖,如:Vue 等app.js:包含业务逻辑代码通常为了方便开发调试,或者是部署到生产服务器时提高应用的访问速度,我们通常会根据文件内容计算出一个hash值,并将改值添加到文件名中,并配置一个长达一年的 Cache Control。选择这样做,主要是因为 vendor.js(webpack打包出来的第三

2017-04-12 14:54:33 8486

原创 Mac下安装MongoDB

Install MongoDB Community Edition on OS X这里简单记录一下在MacOS下通过命令行安装MongoDB的步骤,毕竟好记性不如烂笔头。Tip: MongoDB从3.x版本开始,在Mac OS下至支持 OS X 10.7以上版本,同时要求处理器是Intel x86-64.开始安装步骤下载二进制文件 方式一:我们可以通过访问官方网站: https://www.mo

2017-04-11 10:53:27 806

原创 在Angular应用启动前获取数据并注入到应用中

在Angular应用启动前获取数据并注入到应用中在部分业务场景下,我们在启动客户端Angular应用时,可能需要将一些数据注入到Angular应用中,比如:配置文件信息-让应用根据不同的配置信息进行初始化操作,应用的遗留数据信息-实现应用的平滑升级等等。如何实现这样的需求呢要实现这样的需求,我们需要改变一下Angular应用的启动方式。我们将启动入口函数封装到另外的函数中,并将这个函数导出,导出的函

2017-03-20 11:19:23 2145 2

原创 Mac下配置Java环境变量

Mac下配置Java环境变量下面的操作均在终端窗口完成。通过如下命令找到JDK的安装路径/usr/libexec/java_home -v 1.8打开系统环境变量配置文件sudo vim etc/profile在文件尾部,添加java路径JAVA_HOME="/Library/Java/JavaVirtualMachines/jdk1.8.0_77.jdk/Contents/Home"CLASS_

2017-03-17 16:59:30 3600

原创 协程(Coroutine)-ES中关于Generator/async/await的学习思考

协程--轻量级的用户态线程协程(Coroutine)是一种轻量级的用户态线程。简单来说,进程(Process), 线程(Thread)的调度是由操作系统负责,线程的睡眠、等待、唤醒的时机是由操作系统控制,开发者无法精确的控制它们。使用协程,开发者可以自行控制程序切换的时机,可以在一个函数执行到一半的时候中断执行,让出CPU,在需要的时候再回到中断点继续执行。因为切换的时机是由开发者来决定的,就可以结

2017-03-10 11:30:11 4485 1

转载 棋牌游戏服务器开发心得

一个多人在线的棋牌类网络游戏的项目临近尾声,我参与了该项目的整个设计流程,并且完成了90%的核心代码。关于这个项目,有很多地方值得聊一聊。本系列不打算把这个项目将得多么详细规范,那是设计文档应该描述的,我打算只说说一些值得注意的地方。这个项目的一个特别之处是,客户端是手机,用户通过移动网络与服务器通信。和PC相比,手机的处理能力极弱,而且网络流量费用昂贵。因为除了要考虑普通网络游戏的一些问题之外,这

2017-03-10 08:58:46 31669 13

原创 使用Jenkins搭建持续集成环境

使用Jenkins搭建持续集成环境准备工作安装JDK (具体安装流程这里不进行展开讨论)从Jenkins官方网站https://jenkins.io下载最新的war包。(虽然Jenkins提供了Windows、Linux、OS X等平台的安装包,但是,墙裂推荐使用war包)安装Jenkins当我们准备工作完成时,我们就可以开始我们的启动工作了。 首先,我们在终端cd到我们存放jenkins.

2017-03-03 10:00:56 1435

原创 Angualr 组件间通信

Angualr 组件间通信约定: 遵循Angular官方的说法,下文中的AngularJS代指1.x版本,Angular代指Angular2及以后的升级版本。采用Angular(或者任意MV*)的前端框架开发单页应用(SPA)时,我们都可能会遇见如下的场景: A组件和B组件之前需要相互通信,或是A路由状态需要知道B路由状态的信息等等业务需求。 这个时候就需要设计到采用一套合理的通信方案来解决数据

2017-01-20 16:50:12 5172 2

翻译 AngularJS指令中的compile与link函数解析

AngularJS指令中的compile与link函数解析通常大家在使用ng中的指令的时候,用的链接函数最多的是link属性,下面这篇文章将告诉大家complie,pre-link,post-link的用法与区别.原文地址angularjs里的指令非常神奇,允许你创建非常语义化以及高度重用的组件,可以理解为web components的先驱者.网上已经有很多介绍

2016-12-19 15:42:47 5907

原创 Angular2 Directive 学习笔记-基础篇

Angular2 Directive 学习笔记-基础篇在Angular2中有三种类型的指令(Directive) 1. 组件 — 拥有模板的指令。 2. 结构型指令 - 通过添加和移除DOM元素来改变DOM结构的指令。例如:NgFor, NgIf … 3. 属性型指令 - 改变元素显示和行为的指令。例如:NgStyle …Tips: 关于组件型的指令介绍会在专门的文章里面细致的介绍,

2016-11-18 16:11:08 12509 2

转载 Angular2语法快速指南

Angular for TypeScript 语法快速指南 (基于2.0.0版本)引导import { platformBrowserDynamic } from '@angular/platform-browser-dynamic

2016-11-15 15:06:05 12751 3

原创 统计某个工程的代码行数

linux 或者 Mac 用户,可以用一条shell命令,统计代码行数.# 进入工程目录.执行如下命令.# 统计Java代码行数,含注释,跳过空行.find . -name "*.java" | xargs grep -v "^$" | wc -l# 统计iOS代码.find . -name "*.m" -or -name "*.h" | xargs grep -v "^$"

2016-11-11 11:20:46 587

原创 提升CSS文件的可维护性--采用BEM进行CSS类进行命名

BEM(Block–Element-Modifier)是什么?BEM是由Yandex公司推出的一套CSS命名规范,官方是这么描述它的:BEM — Block Element Modifier is a methodology that helps you to create reusable components and code sharing in front-end development--

2016-11-10 20:39:28 2438

原创 为Angular内置$http服务添加拦截器

为Angular内置$http服务添加拦截器在Angular框架中,创建团队为使用者进行了Ajax请求的封装,并通过http服务暴露出相关的接口.Angular在其官方文档中指出,http服务暴露出相关的接口.Angular在其官方文档中指出,http服务底层针对Web常见的安全攻击做出了相应的对策,也就是说使用http服务封装的Ajax为使用者提供了更为安全的保障.作为一个框架,保证框架的可用性,

2016-10-13 09:33:24 9462

转载 React 设计思想

React 设计思想 译者序:本文是 React 核心开发者、有 React API 终结者之称的 Sebastian Markbåge 撰写,阐述了他设计 React 的初衷。阅读此文,你能站在更高的高度思考 React 的过去、现在和未来。原文地址:https://github.com/reactjs/react-basic我写此文是想正式地阐述我心中 React 的心智模型。目的是解释为

2016-09-28 08:36:09 3268

原创 React学习笔记--通过Redux 的三个基本原则来理解Redux

澄清一个事实严格的说来,Redux属于一种编程思想,类似于Flux,但是不同于Flux, Redux中并没有 dispatcher 的概念。事实上Redux 和 React 之间没有任何直接的关系。Redux 可以通过 React、Angular、jQuery 甚至纯 JavaScript来使用。当然,Redux 还是和 React 这类框架搭配使用才能更加有效的体现其作用,类React的前端框架通

2016-09-27 13:50:10 3985

Gson2.2.4 API CHM帮助文档

Gson is a Java library that can be used to convert Java Objects into their JSON representation

2015-10-13

CSS3权威指南(第三版)

CSS3权威指南(第三版).pdf

2015-09-08

sass语法官方规范

sass语法官方规范

2015-09-08

thinking in patterns with java

《thinking in patterns with java》 来自《Thinking in Java》作者的力作

2015-07-14

最新Android面试题.pdf

最新Android面试题.pdf

2015-03-11

Java编程面试题锦囊.pdf

Java编程面试题锦囊

2014-10-02

Head First Java - 中文版.zip

本书的地位和价值,相信不用多说大家都明白。学习java必看的一本经典巨著!绝对高清,带书签!《Head First Java》 - 高清中文版.pdf

2013-07-16

“黑色经典”系列之《嵌入式Linux 应用程序开发详解》

“黑色经典”系列之《嵌入式Linux 应用程序开发详解》

2013-04-18

空空如也

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

TA关注的人

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