52条SQL语句性能优化

对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。 应尽量避免在 where 子句中对字段进行 null 值判断,创建表时NULL是默认值,但大多数时候应该使用NOT NULL,或者使用一个特殊的值,如0,-1作为默 认值。 应尽量避免在 where 子句中使用!=或<>操作符, MySQL只有对以下操作符才使用索引:&

删除Xcode后git命令无法使用的解决办法

删除Xcode后git命令无法使用的解决办法 因为实际工作中xcode并没有使用,有因为嫌弃它太大所以就随手删除掉了,结果导致了git不可用就像下面这样! xcrun: error: active developer path ("/Applications/Xcode8.app/Contents/Developer") does not exist Use `sudo x

tp6使用模型跨库联查统计withCount

标题不知道起什么好就叫TP6的跨库查询了 一些情况说明 用户表在其他数据库 需要查询的统计数据的表在其他库 需要查询用户所发布的资源数 由于偏爱ORM使用模型查询 ,能不用DB类就不用的情况下,使用了下面的方法 前置条件 两个数据需要在一起 使用一个账号密码访问(此处略坑) 查询方法 $model->withCount([ 'sites' => fun

Go fyne ui框架设置中文并打包到二进制文件

学习完go总琢磨自己做点什么东西玩,发现了fyne这个GUI框架,跟着文档简单弄吧弄吧还可以,但是由于Go的打包都是单文件所以字体文件都不能打包进去于是各种爬帖子,git issuse把方法总结一下 1. 使用os.Setenv 例如下面这样 package main import ( "fmt" "os" ) func init() {

MFC下jsoncpp的使用

引言 萌新一枚,初入Windows编程学习搞MFC,进行到网络编程的时候,碰到json解析的问题,度娘 google 找答案,不过对于萌新的我来说,感觉有点蒙啊.于是就有了下面的记录. 搞源码 网上搞的源码 有贴 github的有贴 sourceforge的 GitHub 的需要Cmake 虚拟机里面只有VS 所以略过,去Sourceforge 下载地址: ​ https://sourc

Let's Encrypt SSL 泛解析证书申请

​ Let’s Encrypt 提供了免费的证书,今天正好用来申请就记录了下面的内容: acme.sh介绍 acme.sh是一个实现了 acme 协议的脚本,可以从 Let’s Encrypt 生成我们需要的泛解析SSL证书.当然,你用来生产普通证书也是没有问题的. 本文仅对使用域名提供/解析商的 API Token 来自动申请泛域名证书的过程进行讲解,acme.sh还有很多很强大的功能例如配合

七牛OSS支持HTTPS的方法

​ 最近一直都没有更新文章,今天使用chrome登录网站的时候发现所有图片连接都挂了,查找原因都时候发现 chrome做了规则限制 当网站使用SSL HTTPS连接时站内连接都会强制转化为HTTPS连接,由于我当时懒着弄所以站内的图片都是HTTP的接口,如果要换成HTTPS又要花一笔钱,很显然不是我的风格.哈哈哈~ ​ 废话不多说直接整,其实很简单的事情,就是用反向代理 第一步当然是应该有一

OSX|MacOS制作U盘启动

复制镜像 将下载好的镜像文件挂载,所得的Install xxxx.app原版安装包复制、粘贴到系统的【应用程序】文件夹(10.15.x系统无法拖放,只能复制、粘贴) 安装U盘制作: 准备工具 用磁盘工具将8G(10.13.x~10.14.x)或16G(10.15.x)抹成 Mac OS扩展(日志式),名称为随意但是要记住例如 osx 在终端中键入命令: 10.13.x安装U盘制作命令: sudo

Go跨平台交叉编译及压缩

Go跨平台交叉编译 默认我们go build的可执行文件都是当前操作系统可执行的文件,如果我想在windows下编译一个linux下可执行文件,那需要怎么做呢? 只需要指定目标操作系统的平台和处理器架构即可: SET CGO_ENABLED=0 // 禁用CGO SET GOOS=linux // 目标平台是linux SET GOARCH=amd64 // 目标处理器架构是amd6

Supervisor使用技巧

一、supervisor简介 Supervisor是用Python开发的一套通用的进程管理程序,能将一个普通的命令行进程变为后台daemon,并监控进程状态,异常退出时能自动重启。它是通过fork/exec的方式把这些被管理的进程当作supervisor的子进程来启动,这样只要在supervisor的配置文件中,把要管理的进程的可执行文件的路径写进去即可。也实现当子进程挂掉的时候,父进程可以准确获