Docker 挂载宿主机失败

搭建本地docker lnmp环境的时候,挂载宿主机的目录到mysql容器的时候,发现本地目录并没有写入mysql的数据,使用以下命令查看容器信息:

Tags:

drupal 7 使用 FlexSlider 制作幻灯片

drupal 7的网站上使用FlexSlider module制作幻灯片。


第一步:

下载FlexSlider module。地址:

https://www.drupal.org/project/flexslider


第二步:

下载FlexSlider库。地址:

https://github.com/woocommerce/FlexSlider


第三步:

在drupal7网站上创建文件夹sites\all\libraries\flexslider(注意使用小写)

解压下载之后的FlexSlider库,把下列文件复制到 sites\all\libraries\flexslider下面:

flexslider.css

jquery.flexslider-min.js

Nginx 配置负载均衡

先给大家推荐首歌,纣王老胡的涩,有人说这首歌听起来就很穷,而我可能因为太穷了,所以听起来觉得特别好听。


Tags:

drupal 7 上使用install文件

  选用drupal做项目的时候,有时根据用户需求,我们需要自己针对具体的业务开发自己的模块,模块的开发比较简单,但是如何方便地安装部署这个模块估计很多团队会忽略掉,也就是忽略module里面的install文件的内容。


  因为这个模块都是针对我们团队内部使用,自己写的module肯定知道需要创建哪些表,需要创建什么样的content type,需要添加哪一些CCK field,也就是说,一个模块开发完成之后,经过了测试团队的测试,团队内部的开发人员完全清楚怎样把这个module部署到production上面。比如我们以前就这样,stage上测完之后,整理配置步骤:


Tags:

sql server中对日期字段值的比较

sql server中对日期字段的比较方式有多种,介绍几种常用的方式:

Tags:

如何使用豆瓣的OAuth 2.0授权机制调用广播API,将豆瓣伪装成Snapchat

1. OAuth 2.0 介绍

OAuth的作用是让客户端安全可控地获取用户授权,与服务提供商进行互动。豆瓣使用OAuth 2.0的授权流程为:

( 1 ) 应用( 第三方应用 )向豆瓣请求授权

e.g.

( 我在豆瓣上随便申请了一个应用,域名用的是localhost,竟然审核通过,下面用的都是是使用该应用的appid跟secret )

https://www.douban.com/service/auth2/auth?client_id=0fc08bb0c48db0f82f41...

浏览器访问上面链接,就会跳转到豆瓣的授权页面,来到第2步;

drupal 7 通过代码方式添加content type

    学习drupal的代码有一个很好的方式,就是根据drupal的核心module或者第三方module的代码找对应的例子,很多drupal的核心module下面都会有一个test文件夹,里面就是各种你想要的实现代码,包括第三方的代码也可以参考。
比如我这篇要讲的如何通过代码的方式议添加content type, 下面的代码是第三方module webform的install里面的代码:
 $webform_type = array(
      'type' => 'webform',
      'name' => st('Webform'),

Tags:

基于drupal7 的开发项目代码重构的实践

有幸接触到drupal,并且参与了公司基于drupal7系统的代码重构,所以这篇文章主要讲一下我们团队在做重构的一个过程,包括重构要解决的是什么问题,重构要达到的一个什么样的具体的目标,重构过程是如何实施的。

1、重构要解决的问题

我们平台基于drupal开发的,基于这个平台下面有很多的site,可以简单地理解为,有一套核心的系统,然后基于这个系统下有很多的网站应用,每个应用都有自己的业务逻辑。随着时间推移与不同的用户需求,平均每两个月都会有一个平台的版本发布,也就是有platform_v1.0.0.0版本,platform_v1.1.0.0版本,platform_v1.2.0.0版本等等。每个平台的版本可能都会有新的功能。

现在的问题是,如果有一个site用的是1.0.0.0版本的平台,现在当前最latest的1.8.0.0,那么如果这个1.0.0.0的site只要1.8.0.0 version的其中一个功能的话,该如何实现?我们的做法是,根据每个平台version的release note,也就是每个version的每个功能的开发文档,把1.0.0.0的site升级到1.8.0.0,其中迭代了8个版本,工作量惊人,而且风险巨大。

码农的日常

        很长时间没写纯技术之外的文章了,做技术这一行,什么都偏理性,一定要有个所以然,写出的文章感觉都是像写代码那样,一定要跟前面接得上。我觉得初中就应该可以开始学编程了,因为我觉得政治课本的那些句子,没有一句跟它前面的那句话有关联的。

PHP设计模式之观察者模式

模式中的角色:

1.  抽象观察者

2. 具体观察者

PHP设计模式之简单工厂模式

1. 定义抽象基类或者接口

2. 继承基类的子类

3. 实例化子类的工厂类

PHP设计模式之策略模式

实现步骤:
1. 定义抽象角色类( 各个具体的实现类的公共的抽象方法 )
2. 定义具体角色类( 各个实现了公共抽象方法的具体类 )

如何开发drupal 7的模块

1. 创建module文件夹:

sites/all/modules/mymod

2. 创建 info 文件:

sites/all/modules/mymod/mymod.info

这个文件用来存取 module 的一些元信息,比如所在的 package,module 名称等等,如下:

name = Mymod
description = My First Drupal Module
package = Customer Module
core = 7.x


这些信息会在后台 module(admin/modules)里面显示

3. 创建 module 文件

 sites/all/modules/mymod/mymod.module

给这个文件添加 <?php 就可以在后台看到这个module的信息了,并且可以开启

4. 使用 hook_menu 给模块添加菜单

 假使我们需要为这个模块创建一个用户可以访问的menu,可以通过 hook_menu 定义:

Subscribe to Front page feed