PHP Faker 教程
什么是 PHP FakerFaker 是一个生成假数据的 PHP 库,Faka 数据通常用于测试或用一些伪数据填充数据库,Faker 受到 Perl 的 Data :: Faker 和 Ruby 的 Faker 的极大启发。说白了就是:
我们在创建完数据表格后往往需要做一些假数据,而 Faker 就是这样的工具。安装 Faker
安装 Faker在项目所在的文件夹中打开命令行输入以下命令:
1composer require fzaninotto/faker
运行以后会在 vendor 文件夹下生成:
实际使用在项目中的实际使用方法(以 Thinkphp 为例):
12345678910111213141516171819202122232425262728293031323334353637383940414243<?phpnamespace MyFaker;//use会调用类注册, 前提是你得先导入相应的类注册方法 (autoload.php)use Faker\Factory;class FakerData{ //使用faker生成假数据 pub ...
宝塔使用webhook更新服务器代码
安装 git1yum install git
安装 webhook 插件添加 shell 脚本,如上图,点击添加,数据名称 和 执行脚本(此处执行脚本框中 直接输入 shell 脚本可能会被过滤,所以可以先随便添加点东西,然后再重新添加 shell 脚本),shell 脚本如下
123456789101112131415161718192021222324252627282930313233343536373839404142#!/bin/bashecho ""#输出当前时间date --date='0 days ago' "+%Y-%m-%d %H:%M:%S"echo "Start"#判断宝塔WebHook参数是否存在if [ ! -n "$1" ]; then echo "param参数错误" echo "End" exitfi#git项目路径gitPath="/www/w ...
Git基础知识
什么是 Git从一般开发者的角度来看,Git 有以下功能:
从服务器上克隆数据库(包括代码和版本信息)到单机上。
在自己的机器上创建分支,修改代码。
在单机上自己创建的分支上提交代码。
在单机上合并分支。
新建一个分支,把服务器上最新版的代码 fetch 下来,然后跟自己的主分支合并。
生成补丁(patch),把补丁发送给主开发者。
看主开发者的反馈,如果主开发者发现两个一般开发者之间有冲突(他们之间可以合作解决的冲突),就会要求他们先解决冲突,然后再由其中一个人提交。如果主开发者可以自己解决,或者没有冲突,就通过。
一般开发者之间解决冲突的方法,开发者之间可以使用 pull 命令解决冲突,解决完冲突之后再向主开发者提交补丁。
从主开发者的角度(假设主开发者不用开发代码)看,Git 有以下功能:
查看邮件或者通过其它方式查看一般开发者的提交状态。
打上补丁,解决冲突(可以自己解决,也可以要求开发者之间解决以后再重新提交,如果是开源项目,还要决定哪些补丁有用,哪些不用)。
向公共服务器提交结果,然后通知所有开发人员。
Git 初入如果是第一次使用 Git,你需要设置署名和邮箱: ...
使用nodejs 打包网址为exe端
安装1npm install nativefier -g
使用设置 npm 源为
1npm config set registry https://registry.npm.taobao.org/
在 nativefier 后加上需要转换的网站地址, 比如:
1nativefier "https://www.zhihu.com/"
第一次打包需要下载 Eletron 框架, 很慢, 要有耐心……
12nativefier --name "恒星C端" "https://www.toushivip.com/tshxs"nativefier --name "恒星C端" "C:\Users\Administrator\Desktop\icon.ico"
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 ...
mysql实现group by后取各分组的最新一条
两种实现方式先 order by 之后再分组:
SELECT _ FROM (SELECT _ from tb_dept ORDER BY id descLIMIT 10000) a GROUP BY parent_id;
不加LIMIT可能会无效,由于 mysql 的版本问题。但是总觉得这种写法不太正经,因为如果数据量大于 Limit 的值后,结果就不准确了。所以就有了第二种写法。
SELECT * FROM tb_dept td,(SELECT max(id) id FROM tb_dept GROUP BY parent_id) md where td.id = md.id;
开发过程中真实 sql 语句举例:
1select * from (select * from guangnian_distribution order by id desc LIMIT 10000) m group by m.guangnian_id,m.user_id order by id desc
关于lnmp mysql的一个坑记录一下
Mysql5.7 及以上 only_full_group_by 以及其他关于 sql_mode 原因报错详细解决方案
经过我们一番百度之后,获取的结果是关于 only_full_group_by ,但是按照教程所说,只要修改了 my.cnf,在 my.cnf 添加如下配置(或者在 my.ini 里配置新增)
1sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
php - api接口跨域问题
Nginx 伪静态配置为:123456789101112location / { add_header Access-Control-Allow-Origin '*'; add_header Access-Control-Allow-Methods 'POST,PUT,GET,DELETE'; add_header Access-Control-Allow-Headers 'version, access-token, user-token, Accept, apiAuth, User-Agent, Keep-Alive, Origin, No-Cache, X-Requested-With, If-Modified-Since, Pragma, Last-Modified, Cache-Control, Expires, Content-Type, ATJ-Token,ATJ-Device-Type'; if ($request_method = 'OPTIONS') { ...
如何制定一个自定义hexo组件
有的时候发现官方的组件不够用,所以需要自己制作一个合适的组件。这里我简单写了一个可以互相交流一下。
步骤新建 js首先我们需要找到修改的位置
1-hexo - theme - volantis - scripts - tags - xxx.js;
我们需要在 tags 文件夹中创建一个自己的 js,例如:moviebox.js
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556function postMoviebox(args, content) { return ( `<div class='moviebox'><img class='moviebox-img' src='/images/mlzg02.webp' alt='豆瓣'/>` + `<div class='moviebox- ...
PHP获取端操作系统类型 客户端和服务器端
如何使用php获取当前操作系统类型呢?严格来说这里分两种情况:一种情况是获取服务器端的操作系统类型,一种是获取客户端的操作系统类型。下面作者将对如何使用php获取这两种情况下的操作系统类型和大家做一些分享。(1)php 获取服务器端的操作系统类型这个时候可以使用 php 系统自带的常量 PHP_OS 或者系统函数 php_uname(‘s’)。关于这两者返回的值可能的情况基本有如下几种情况:
CYGWIN_NT-5.1
Darwin
FreeBSD
HP-UX
IRIX64
Linux
NetBSD
OpenBSD
SunOS
Unix
WIN32
WINNT
Windows
CYGWIN_NT-5.1
IRIX64
SunOS
HP-UX
OpenBSD
不过根据具体情况读者还是自行打印出来结果看看最好,也许获得的结果不在上述之列。(2)php 获取客户端的操作系统类型,这里分享一个函数,比网上流传的那些判断更加精准,而且没有 bug代码如下:
12345678910111213141516171819202122232425262728293031323334353637383 ...
MySQL查询当天当月数据
123456789101112131415161718192021222324252627282930313233343536373839404142今天select * from 表名 where to_days(时间字段名) = to_days(now());昨天SELECT * FROM 表名 WHERE TO_DAYS( NOW( ) ) - TO_DAYS( 时间字段名) <= 1近7天SELECT * FROM 表名 where DATE_SUB(CURDATE(), INTERVAL 7 DAY) <= date(时间字段名)近30天SELECT * FROM 表名 where DATE_SUB(CURDATE(), INTERVAL 30 DAY) <= date(时间字段名)本月SELECT * FROM 表名 WHERE DATE_FORMAT( 时间字段名, '%Y%m' ) = DATE_FORMAT( CURDATE( ) , '%Y%m' )上一月SELECT * FROM 表名 WHERE PERI ...