West2ers' Blog

To Be A Lean Developer!

伪类和伪类元素的学习笔记

伪类:是一个真实 HTML 元素上的一个特殊的状态。可以认为是浏览器在特定条件下将一个虚拟的类自动应用于某个元素。它的功能和class有些类似。 伪元素:是 HTML文档的一部分,尽管它不是真实的 HTML 元素,但是 CSS 允许你为它设置样式。就像是虚拟的 HTML 元素——尽管它没有真实的 HTML标签,但你仍可以为其添加样式。 伪类及伪元素伪类 :link:hover:act......

FIRST和FOLLOW的求解过程

FIRST 能由非终结符号推出的所有的开头符号(终结符)或可能的ε 假设有以下文法: S→ABcA→a|εB→b|ε 则:FIRST(A)={a,ε},FIRST(B)={b,ε} 由于从S可以推得aBc,bc,c,故FIRST(S)={a,b,c} FOLLOW 紧跟随其后面的终结符号或# 把所有包含你要求的符号的产生式都找出来,再看哪个有用。 Follow(S)={#} 如求A的......

设计模式之简单工厂模式

一、工厂模式的应用场景 可以统一管理对象的实例化1、一个接口有多个实现类,使用者在使用的时候,可以传给工厂一个参数,工厂根据这个参数来选择具体的实现类2、一个项目中,new了成百上千个某接口的实现类,然后突然有一天,要把这个实现类换名字了,那么是非常可怕的,因为需要修改成百上千个文件,这时候,如果使用工厂模式,则只要修改一个地方就可以 二、参与者1、接口,规范子类需要实现的方法,同时利用多......

PHP 解决 CORS 跨域问题

背景最近和hbb在写一个项目,采用前后端分离的模式。我写接口,hbb写前端。接口采用json的格式进行数据交互,前端和后端放在了不同的服务器上,一开始调试的时候就遇上了问题。 问题前端使用JS在POST数据到接口时,出现问题。 Google Chrome的提示: XMLHttpRequest cannot load http://weafung.com/index.php/. Respons......

Docker开发部署Node小结

在Node部署中,遇到过几个比较坑的地方,也都找到了一些解决方案,这里做一个小结,如果有更好的解决方案,请告诉我;)。 部署的镜像选择一开始是直接选择 Docker Hub 的 Node 官方镜像,看了一下 Tag 发现官方大致提供了两种: wheezy 、 slim 和 alpine Node.js 7.1版本的镜像大小 image 12345wheezy 192MBslim 85M......

初探iOS Network Extension(新手向)

Network Extension听着很高大上。然而用上NEKit,我们可以分分钟钟写出个代理App

经过一番申请,我们西二在线iOS团队成功申请得到了Network Extension的Entitlement。于是,我们开始研究ne的开发。本文使用Swift语言及NEKit开源库制作一个简单的代理软件。 一、 安装NEProviderTargetTemplates.pkg由于未知原因苹果在mac OS 10.12中删除了这个文件,因此我们需要从10.11系统中提取或下载。 安装完毕后,......

反向代理解决跨域问题

解决跨域问题 1.同源策略 第一,如果是协议和端口造成的跨域问题“前台”是无能为力的,第二:在跨域问题上,域仅仅是通过“URL的首部”来识别而不会去尝试判断相同的ip地址对应着两个域或两个域是否在同一个ip上。“URL的首部”指window.location.protocol +window.location.host,也可以理解为“Domains, protocols and port......

How to preview local image and beautify style

预览本地图片(取消)+input样式美化

预览功能:input[type=file]的onchange事件JS部分预览效果要做到预览本地图片,最重要的就是获取到文件的路径。 var clear = document.getElementById('clear_img'); var img = document.getElementById('preview'); //img var file......

How to post

博客使用教程

A post a day, keep bugs away. 环境我是用的Mac,windows下路径的写法不同,请注意。我以本教程post为例。 git clone在terminal下进入自己喜欢的目录下,使用 git clone https://github.com/WestRabbit/WestRabbit.github.io.git 那一长串是在下图拿到的 或者用ssh…会比较方便......

PHP集成环境WAMP简单配置指南

Wamp配置篇(一)为了将Wamp应用于实际站点搭设,需要对默认安装好的Wamp进行一些参数上的配置,以达到我们想要的效果 一、默认无密码状态Wamp的MySQL默认是没有密码的,这对于实际应用而言有诸多的不便,因此,我们先更改个密码。首先,打开MySQL的控制台,这时候会提示你:1Password: 默认是空的,所以回车即可,进入后,输入:1use mysql; 然后执行:1UPDATE ......