工厂模式之简单工厂模式(静态工厂模式)-创建型

在简单工厂模式中,可以根据参数的不同返回不同类的实例。简单工厂模式专门定义一个类来负责创建其他类的实例,被创建的实例通常都具有共同的父类(接口)。

具有产品接口、产品实现、工厂实现。没有工厂接口。

简单工厂模式用于生产静态或独立的产品。

查看全文 →

Gitlab CE + Gitbook 本地环境搭建

GitLab 是一个利用Ruby on Rails开发的开源应用程序,实现一个自托管的Git项目仓库,可通过Web界面进行访问公开的或者私人项目。
它拥有与GitHub类似的功能,能够浏览源代码,管理缺陷和注释。可以管理团队对仓库的访问,它非常易于浏览提交过的版本并提供一个文件历史库。

GitBook 是一个基于 Node.js 的命令行工具,可使用 Github/Git 和 Markdown 来制作精美的电子书

查看全文 →

php composer 与 NPM 配置

composer

参见官网:https://getcomposer.org/download/

php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('SHA384', 'composer-setup.php') === '55d6ead61b29c7bdee5cccfb50076874187bd9f21f65d8991d46ec5cc90518f447387fb9f76ebae1fbbacf329e583e30') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
php composer-setup.php
php -r "unlink('composer-setup.php');"

配置

composer config -l -g

vi /root/.config/composer/config.json

"config": {
    "secure-http":false
}

自更新

composer selfupdate

中国全量镜像

https://pkg.phpcomposer.com/

composer config -g repo.packagist composer https://packagist.phpcomposer.com

NPM

npm config set registry https://registry.npm.taobao.org

Java QuickStart (1)

Java QuickStart 系列是个人学习Java的入坑笔记,求老司机带路。

基础

数据类型

基本数据类型:数值型(byte、short、int、long、float、double),字符型(char),布尔型(boolean)
引用数据类型:类,接口,数组

自动转换

也叫扩大转换

  1. 转换前后数据类型兼容
  2. 转换后的数据类型表示范围比转换前大 如,short类型转换为 int 类型

任何数据类型碰到 String 类型,都会向 String 类型转换

强制转换

也叫显式转换,可能会丢失精度

float f = 33.3f
int x = (int) f;

null

null 表示引用数据类型的默认值

面向对象

Java 内存区域

  1. 栈内存空间,保存所有对象名称(保存了引用堆内存空间地址)
  2. 堆内存空间:保存每个对象的具体属性内容
  3. 全局数据区:保存 static 类型的属性
  4. 全局代码区:保存所有方法定义
查看全文 →

搜索引擎老板开了个杂货店

搜索引擎百度老板开了个杂货店,你新开了一家供货店,你们俩怎么开始做生意?

这是一篇关于网站海量数据长尾词 SEO 的一些个人理解。

查看全文 →

浏览器缓存与相关 HTTP Header

在 HTTP 请求中,内容由 Web 服务器产生,而浏览器缓存内容存储在浏览器本地,他们之间不可能独立完成整个请求过程,所以这个沟通机制就叫缓存协商。

而缓存协商,毕竟还需要浏览器与 Web 服务器的一次 HTTP 请求响应头的确认,如何彻底的消灭请求,就需要用到浏览器缓存。

查看全文 →

Sass + Compass

Sass 是一种 CSS 的开发工具,是对 CSS 的一种扩充,提供了许多便利的写法,节省了设计者的时间,使得 CSS 的开发,变得简单和可维护。

Compass 在 Sass 的基础上,封装了一系列有用的模块和模板,补充 Sass 的功能。

查看全文 →

SEO 优化

SEO 优化总结

查看全文 →

Solr 地理位置搜索

不需要排序
fq
{!geofilt sfield=LatitudeLongitude pt=31.8671998804321,117.308743414503 d=5}

fl
LatitudeLongitude,CompanyName,Address,distance:geodist(LatitudeLongitude,31.8671998804321,117.308743414503)

需要排序
q
{!geofilt score=distance sfield=LatitudeLongitude pt=31.8671998804321,117.308743414503 d=1}

fl
score,LatitudeLongitude,CompanyName,Address,distance:geodist(LatitudeLongitude,31.8671998804321,117.308743414503)

sort
score desc

filter=false

{!geofilt score=distance filter=false}
City:"合肥"
score,LatitudeLongitude,CompanyName,Address,distance:geodist(LatitudeLongitude,31.8671998804321,117.308743414503)

sort

geodist() desc

Linux服务器部署规范(CentOS 6)

本规范主要用于团队内部服务器部署统一约定,当前使用 CentOS 6 作为模板。

查看全文 →

Lua 中的类与面向对象

类是创建对象的模板,对象是类的实例,Lua 中没有类的概念,所以我们只能使用现有的支持去模拟类的概念。

查看全文 →

Lua 元表 metatable 与 类定义

元表(metatable) 是 Lua 中的重要概念,每一个 table 都可以加上 metatable,以改变相应的 table 的行为。

Lua 中不能改变其他类型的元表(除了使用调试库),必须使用C API才能做到。

元表也是普通的table,定义了原始值在某些特定操作下的行为。你可通过在值的原表中设置特定的字段来改变作用于该值的操作的某些行为特征。

查看全文 →

PHP Opcache 扩展

OPcache 通过将 PHP 脚本预编译的字节码存储到共享内存中来提升 PHP 的性能, 存储预编译字节码的好处就是省去了每次加载和解析 PHP 脚本的开销。

PHP 5.5.0 及后续版本中已经绑定了 OPcache 扩展。 5.3 和 5.4 版本可以使用扩展安装。

查看全文 →

Solr Suggest 组件

Lookup Implementations

AnalyzingLookupFactory

FuzzyLookupFactory

AnalyzingInfixLookupFactory

基于Cloudera CDH的Hadoop平台搭建

Cloudera 企业级Apache Hadoop 提供商和服务商,提供产品、专业服务、技术支持与培训。是目前在Hadoop生态系统中,规模最大、知名度最高的公司,也是Hadoop生态主要贡献者。

Cloudera CDH 套件几乎集成了 Hadoop 生态所有组件,虽然版本略有滞后,但解决了最困难的组件间兼容性问题,并补丁。
Cloudera Express 和 Cloudera Enterprise 为 Cloudera 商业产品软件,包括免费版与企业版。提供了一个基于 Web 的用户界面,应用程序,部署、管理、监控的解决方案。

查看全文 →