阿里云优惠活动 学生专享9.5元/月

使用hugo快速生成个人博客

Hugo是由Go语言实现的静态网站生成器。简单、易用、高效、易扩展、快速部署。hugo中文文档传送门 环境依赖 golang git gitee 仓库 本站模板基于 hugo-icarus-theme 本文基于windows下操作 操作流程 安装Hugo go get -u -v github.com/spf13/hugo windows下的hugo执行文件需要手动生成,在 GOPATH 中 pkg/mod/github.com/sf13/hugo 目录中,执行go build 生成hugo.exe 将hugo.exe移动到 GOPATH 的 bin 目录 将bin目录添加到计算机的环境变量 Path 中,即可直接使用 hugo 命令 在GOPATH的src目录 执行生成站点命令 hugo new site xiyoudaodao 启动服务命令 hugo server -w -w用于动态监听文件修改实时更新页面 可以自己修改模板文件,在layouts目录中对应themes目录结构和文件创建需要修改的目录和文件 执行hugo即生成静态文件 文件目录public,上传到gitee仓库,更新即可 个人博客白嫖完毕

阅读更多...

阿里云优惠活动 学生专享9.5元/月

使用Gitee Page创建个人博客

新建仓库 创建仓库时可以选择不开源 仓库界面-服务-Gitee Pages 可以选择静态文件工具来创建博客页面 可以使用Jekyll、Hugo、Hexo 来快捷创建静态网页 上传生成好的html文件到仓库 到 仓库界面-服务-Gitee Pages 页面,选择部署分支、填写 部署目录 (Hugo生成的在/public), 填写后 点击 更新

阅读更多...

阿里云优惠活动 学生专享9.5元/月

laravel临时关闭created_at、updated_at的自动更新

laravel临时关闭created_at、updated_at的自动更新。 直接上代码 $user = new User([ 'id' => 1, 'name' => 'xiyoudaodao', 'password' => Hash::make('admin'), 'login' => 'admin' ]); $user->timestamps = false; $nowTimeUnix = time(); $user->created_at = date("Y-m-d H:i:s", $nowTimeUnix + 10); $user->updated_at = date("Y-m-d H:i:s", $nowTimeUnix + 10); $user->save();

阅读更多...

阿里云优惠活动 学生专享9.5元/月

golang使用walk编译图形界面-按钮添加图片的一种方式

使用walk制作了一个小程序,程序左上角和菜单栏中想要使用ico图片,让程序好看一点,成品如下图。 前期准备一张ico图标,以下操作均为windows下进行 下载goversioninfo,地址https://github.com/josephspurrier/goversioninfo go get https://github.com/josephspurrier/goversioninfo 下载完成后进入%GOPATH%/src/vendor/github.com/josephspurrier/goversioninfo/cmd编译生成可执行文件 go build -o %GOPATH%\bin\goversioninfo.exe main.go 在环境变量PATH中添加%GOPATH%\bin 复制versioninfo.json到自己的项目目录下,在testdata\example32和testdata\example36目录下有,随便复制一个,并将其中StringFileInfo下的参数修改为自己实际参数,设置IconPath为ico名称,例如 "IconPath": "demo.ico", //ico、main.go、配置文件都在同级目录中 在自己项目的main.go文件顶部增加备注行//go:generate goversioninfo -icon=demo.ico,其中icon文件请修改为自己的文件名称 goversioninfo文档介绍说,执行go generate即可,实际使用发现一直报错,后直接执行generate成功生成resource.syso 最后执行go build执行编译即可,右键查看属性吧

阅读更多...

阿里云优惠活动 学生专享9.5元/月

golang编译exe程序设置图标和软件信息

前期准备一张ico图标,以下操作均为windows下进行 以下方法可以生成单文件,引用外部图片未作尝试。 以下列出关键部分代码 func main() { if err := (MainWindow{ AssignTo: &MWindow.MainWindow, Title: "文档统计-小程序 v1.0", MinSize: Size{320, 240}, Size: Size{800, 600}, OnDropFiles: func(files []string) { if len(files) > 0 { go MWindow.isOpenDir(files[0]) } }, MenuItems: []MenuItem{ Menu{ Text: "&操作", Items: []MenuItem{ Action{ AssignTo: &MWindow.openFile, Text: "&选择文件夹", OnTriggered: MWindow.ShowBrowseFolder, }, Separator{}, Action{ Text: "退出", OnTriggered: func() { MWindow.Close() }, }, }, }, Menu{ Text: "&帮助", Items: []MenuItem{ Action{ Text: "关于", OnTriggered: MWindow.

阅读更多...

阿里云优惠活动 学生专享9.5元/月

Laravel图片处理包intervention-image的使用

最近偶然发现了Laravel可用的图片处理包intervention-image。 文档地址:http://image.intervention.io 安装起来也很简单。 composer require intervention/image 然后到config/app.php的 $providers中添加 Intervention\Image\ImageServiceProvider::class $aliases中添加 'Image' => Intervention\Image\Facades\Image::class 使用时引入Image的命名空间 use Intervention\Image\Facades\Image; 这样就可以使用Image来方便的处理图片了。 基本操作: $img = Image::make('public/foo.jpg')->resize(300, 200); $img->save('public/bar.png'); save()也可以不填写路径,不填默认为覆盖原图。 intervention通常会在PHP脚本完成后会自动销毁资源。 也可以使用destroy()方法主动销毁资源,在调用方法后,图像实例不再可用。 $img = Image::make('public/foo.jpg'); $img->resize(320, 240); $img->save('public/small.jpg'); $img->destroy(); 此处有一坑,save()覆盖原图时,destroy()不能正常销毁。save()为不同文件,可正常使用destroy()。

阅读更多...

阿里云优惠活动 学生专享9.5元/月

PM2启动LaravelS运行swoole命令

之前的文章已经写过PM2启动laravel队列的命令。传送门 这里再写加一个启动laravel的swoole扩展的命令, 先cd到laravel项目中,然后执行以下命令: pm2 start bin/laravels --name laravels --interpreter php -- restart ps:不能加参数 – -daemon, 加了启动不了。

阅读更多...

阿里云优惠活动 学生专享9.5元/月

laravel-admin关联模型的小坑

laravel-admin写起来确实很方便。 在$grid 可以使用 关联模型获取关联表的数据,可设置为可修改。 比如: public function profile() { return $this->hasOne(Profile::class); } $grid->profile()->gender()->editable('select', [1 => '男', 2 => '女']); 在$from中也可以 使用这个关联的模型来 保存数据 比如: $form->select('profile.gender', '性别')->options([1 => '男', 2 => '女']); 此时数据可以正常的创建和修改。 重点来了,此处需要注意一个坑。 在命名关联模型时不可使用驼峰写法,必须全部小写,否则,$grid显示正常,就是修改时$from保存不了数据。

阅读更多...

阿里云优惠活动 学生专享9.5元/月

Laravel开发通过Model的$attributes设置字段默认值

使用Laravel开发时,数据库非空字段未设置默认值,可以在此表Model中添加 $attributes为字段设置默认值,通过save方法保存时会自动添加。 例如,为文章表 访问数 字段 access_nums 添加 默认值0,则新建文章时会默认access_nums为0。 protected $attributes = [ 'access_nums' => 0 ];

阅读更多...

阿里云优惠活动 学生专享9.5元/月

CentOS 7 cron定时重启php-fpm

服务器使用nginx+php-fpm配置。 最近发现php-fpm总是不释放内存,服务器内存1G,本身就小,过一段时间就占满了。 只好在占满前手动restart。 然后搜索了一下,发现php-fpm确实存在不释放内存的情况。 按照介绍重新设置了 pm.start_servers:动态方式下的起始php-fpm进程数量 7 pm.min_spare_servers:动态方式下的最小php-fpm进程数 4 pm.max_spare_servers:动态方式下的最大php-fpm进程数量 10 最终命令: pm.start_servers = min_spare_servers + (max_spare_servers - min_spare_servers) / 2 试用了一段时间,内存确实到90%左右就不增长缓慢了,但是数据堵塞了,只好继续restart。 在找到替换php-fpm之前,省事的方法还先设置一个定时任务,每天凌晨重启一下php-fpm访问。 先到win10自带的ubuntu上测试一番 第一个命令 service cron start : 提示no crontab for root – using an empty one 选择编辑器后 填写 * * * * * service nginx restart 每分钟重启一次nginx 默默等待一分钟,打开top,什么都没有发生,找日志,结果日志也没有。 搜索一番,始终找不到日志,顿时没了头绪。 换一个命令,再试一次。 * * * * * date >> /var/log/temp.txt 再次默默等待一分钟,切到var的log目录,居然出现了temp.txt。 再次搜索 定时启动php-fpm的命令。 最终命令:每天凌晨1点重启php-fpm服务 0 1 * * * systemctl restart php-fpm

阅读更多...