西维蜀黍

【WordPress】WordPress安装插件时提示输入FTP账号信息

1.需求

升级WordPress后,当在WordPress后台安装插件时,提示输入FTP账号信息。

  ...


【WordPress】WordPress修改管理员用户名名称

1.需求

在WordPress的管理后台中,对管理员的用户名是无法直接修改的。

  ...


【Engineering】依赖反转原则(The Dependency Inversion Principle)和控制反转(Inversion of Control)

什么是依赖(Dependency)

**依赖(Dependency)**是一种关系,通俗来讲就是一种需要。

程序员需要电脑,因为没有电脑程序员就没有办法编写代码,所以说程序员依赖电脑,电脑被程序员依赖。

  ...


【MySQL】MySQL 常用命令 - 服务管理

0 启动 MySQL 服务

启动MySQL服务:

$ mysql.server start

# Or
$ /usr/local/mysql/bin/mysql

# Or
$ sudo /usr/local/mysql/support-files/mysql.server start

停止与重启 MySQL 服务:

# stop
$ mysql.server stop

# restart
$ mysql.server restart

配置文件

MySQL配置文件默认路径:/usr/local/mysql/support-files/,也可以通过mysql --verbose --help | grep my.cnf来查找。

1 连接MySQL

$ mysql -h <主机地址> -u <用户名> -p <用户密码>
  ...


【MySQL】macOS 下安装 MySQL

MySQL 安装

【方法 1】通过brew安装MySQL

$ brew install mysql

# 指定安装版本
$ brew install mysql56

# 后台运行
$ brew services start mysql@5.6
# 前台运行
$ /usr/local/opt/mysql@5.5/bin/mysql.server start

# 停止
$ brew services stop mysql@5.6     

$ mysql -u root -p

注意,使用 brew 安装,可能在启动 mysql 时,会出现各种错误。MySQL log 默认位于 /usr/local/var/mysql/{your machine name}.err,查看详细的 log 以排查问题。

  ...


【Java】JavaBean、POJO和EJB

1 JavaBeans

JavaBeans在1996年被Sun公司提出,并定义为 A JavaBean is reusable, platform independent component that can be manipulated visually in a builder tool.

JavaBeans是一类符合一定编写规范(满足某些约定)的可被作为重用组件的Java类。

JavaBeans 是可重用组件,通过将不同的类(Object)封装到一个类(single Object)中,这个类被称为一个 Bean。

对于一个其方法命名、构造及行为必须符合以下约定的Java类,称为一个bean

  • 所有属性为private
  • 这个类必须有一个公共的缺省构造函数(即无参数的构造函数)
  • 这个类的属性(property)可能使用 set方法 和 get方法来访问(或is方法,用于访问布尔型属性)
  • 这个类的属性可具有只读、只写或可读可写的状态
  • 这个类是可序列化的(实现了serializable接口)
  • 这个类可以将很多类封装到自己内部

例子

GUI 组件(Component) 均是理想的JavaBeans,即所有的SwingAWT类均是JavaBeans

在GUI 组件中:

  • 属性(Properties):JavaBeans的属性是一组被命名的字段,可以包括颜色(color)、标签(label)、字体(font)、字体大小(font size)、显示模式(display size),可用于描述GUI组件的外观、行为和状态
  • 方法(Methods):JavaBeans的方法与一般Java方法相同。所有的属性都通过方法来读取和修改
  • 事件(Event):JavaBeans的事件与 SWING/AWT中的事件处理(event handling)相同
  • 持久化(persistence):实现了Serializable接口使得每个JavaBeans都可以完成持久化存储

当然,我们也可以自己编写JavaBeans

PersonBean.java

public class PersonBean implements java.io.Serializable {

    /**
     * name 属性(注意大小写)
     */
    private String name = null;

    private boolean deceased = false;

    /** 无参构造器(没有参数) */
    public PersonBean() {
    }

    /**
     * name 属性的Getter方法
     */
    public String getName() {
        return name;
    }

    /**
     * name 属性的Setter方法
     * @param value
     */
    public void setName(final String value) {
        name = value;
    }

    /**
     * deceased 属性的Getter方法
     * 布尔型属性的Getter方法的不同形式(这里使用了is而非get)
     */
    public boolean isDeceased() {
        return deceased;
    }

    /**
     * deceased 属性的Setter方法
     * @param value
     */
    public void setDeceased(final boolean value) {
        deceased = value;
    }
}

TestPersonBean.java

import player.PersonBean;

/**
 * <code>TestPersonBean</code>类
 */
public class TestPersonBean {
    /**
     * PersonBean 类测试方法的main函数
     * @param ARGS
     */
    public static void main(String[] args) {
        PersonBean person = new PersonBean();

        person.setName("张三");
        person.setDeceased(false);

        // 输出: "张三[活着]"
        System.out.print(person.getName());
        System.out.println(person.isDeceased() ? " [已故]" : " [活着]");
    }
}

JSP中访问JavaBeans

JavaBeans可以被使用在JSP中,即在Servlet(相当于Controller)中根据用户通过HTTP请求传递过来的参数构造一个Beans实例(通过调用Beans实例的各种setter方法),并存储到 HttpSession中的。

  ...


【Java】集合类 - List - Java中List的基本使用

List与ArrayList

  • List是一个接口,而ArrayList是一个类。
  • List继承了Collection接口
  • ArrayList实现了List接口
  ...


【Security】用户验证及密码加密存储

验证思路的本质

验证思路的本质无非是对比当前用户输入的账号密码与正确的(且存储于数据库中的)账号密码是否一致,若一致则认为身份验证通过。

  ...


【Engineering】SOLID 原则

缩写 全称 中文
S The Single Responsibility Principle 单一责任原则
O The Open-Closed Principle 开放封闭原则
L Liskov Substitution Principle 里氏替换原则
I The Interface Segregation Principle 接口分离原则
D The Dependency Inversion Principle 依赖倒置原则
  ...


【Operating System】换行符

背景

在不同操作系统中,会使用不同的换行符来表示换行。

  ...