menu LittleJake's Blog
color_lens
avatar
Jake Liu
Never Settle
creative commons by-nc-sa
hit
Category
keyboard_arrow_down

© 2024 LittleJake's Blog.

萌ICP备20223020号

Jake Liu published posts

head-img

博客优化

鉴于本站放在免费的CloudFlare CDN上,在中国镜内的速度会有所负优化

基本考虑

  1. 图片压缩
  2. Apache配置文件优化
  3. PHP配置文件优化
  4. 必要静态资源转换为国内CDN地址
  5. 图床
  6. CloudFlare CDN设置
...

head-img

bootstrap v4

前言

最近开发个项目,用久了Bootstrap v3和ThinkPHP5没啥感觉。
想尝试一下新版本开发:Bootstrap v4和ThinkPHP6

Bootstrap v4添加了对大显示器的支持,新增xl大小。

隐藏小于等于对应大小:

...

head-img

20200203225535.png

介绍

最近对于WordPress的博客框架爆破事件层出不穷,必须加个验证码防止爆破。反正我是没搞懂用WordPress的爆破来爆破Typecho是什么心态。

准备工作

  • 谷歌验证码API
  • 中国境内使用reCaptcha的镜像

处理方法

var/Widget/Login.php中找到action方法,对比修改添加。

...

head-img

cloudflare

According to the TOS of CloudFlare that CDN only support port 80 (native HTTP) and port 443(native HTTPS).
You must change your port 80 to others if you want to use in China. Besides, there is a block on China Telecom that IPV6 port 80 (or like port 8080) can only be accessed in their network.

Preparation

  • A domain hosted in the CloudFlare.
  • A terminal (Mobile, Router, PC, etc.)
...

head-img

整体架构

架构选择

平台并没有采用主流架构:Java Web来处理高并发。由于Java Web的复杂度和迭代性难度大,快速开发的PHP就是不二的代替。

因此,平台使用PHP版本7.2nts,加上Redis处理并发,(MariaDB)MySQL5.6保存计费信息,系统选择为Centos7。Lua作为API直接写Redis,采用OpenResty。

机器配置:Intel(R) Xeon(R) CPU E5-2697 v2 @ 2.70GHz + DDR3 RECC 98G

出现的问题

不止在架构上,系统上的破事也挺多的。

  • 系统出现磁盘错误,文件系统直接变RO,需要修复
  • 系统默认配置最大打开文件数hard&soft、连接优化、最大端口使用数
  • Redis默认最大maxclients为10000,高并发下最好使用Redis连接池或者框架支持的persistent长连接
  • MySQL最大连接数100,通过修改my.cnf或者控制台输入...

head-img

Let's start to optimize Typecho!

  1. Make the whole blog translated. (Multi-language support)
  2. Optimize Catagory
  3. Add reCaptcha
  4. Add Fancybox
  5. Add Privacy Policy page
  6. Add Material Design:MDUI.js
  7. Markdown

To be continued...

head-img

thinkphp5

描述

根据ThinkPHP5手册的说明,模型能进行分层:

通常情况下,不同的分层模型仍然是继承系统的\think\Model类或其子类,所以,其基本操作和Model类的操作是一致的。

例如在index模块的设计中需要区分数据层、逻辑层、服务层等不同的模型层,我们可以在模块目录下面创建model、logic和service目录,把对用户表的所有模型操作分成三层:

数据层:app\index\model\User 用于定义数据相关的自动验证和自动完成和数据存取接口

逻辑层:app\index\logic\User 用于定义用户相关的业务逻辑

服务层:app\index\service\User 用于定义用户相关的服务接口等

解决方案

所有的层全部继承Model类,因此受到某个项目的启发,可以在基类添加如下语句使其使用魔术方法加载各层实例方法。

  • 在common.php添加字符串处理函数
...
Theme