自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

做一个有情怀的技术人

君子不器,先要为器,器中成道

  • 博客(26)
  • 资源 (1)
  • 收藏
  • 关注

原创 fatal error: all goroutines are asleep - deadlock

由fatal error: all goroutines are asleep - deadlock ,引出 实际项目中goroutine+channel+select的使用总结

2022-02-08 14:32:18 9131 3

原创 Gin+Gorm+Vue全栈开发那些事儿~

近期,基于个人目前技术栈的熟悉加深以及后期公司项目使用为目的,学习并练手使用了Gin+Gorm+Vue相关技术栈,使用前后端分离模式开发,开发了一套前端端系统的CMS类型的项目。通过该项目,加深了Go相关语法以及其前端框架Vue等对应技术栈的熟识程度,可达到后期直接个人全栈开发Web相关前后端,能够做到直接上手架构设计、以及开撸代码的程度。故此,做一下相关技术学习总结,加深学习印象以及后期项目开发的快速使用方便性。1、相关技术栈golang Gin web framework ...

2022-01-10 11:02:28 779

原创 layui加载相关扩展js ,css带上版本号

今天线上修改相关layui插件之laydate,增加周月年等相关筛选时,发现如果修改了layui的相关扩展查询,如果不加上版本号,用户需清除浏览器缓存

2021-01-15 19:33:20 986

原创 Mysql优化之 or 条件优化

最近,碰到一个线上数据同步脚本慢查询问题。大致语句如下: SELECT `e`.`id` AS `gid`, `a`.`id` AS `cid`, `a`.`chaname` AS `chan`, `b`.`id` AS `fid`, `a`.`create_time` AS `create_time`, `a`.`update_time` AS `update_time` FROM `chn` `a` INNER

2020-12-05 16:53:43 1862

原创 MySQL5.6 ORDER BY主键id加LIMIT限制走错索引

发现问题:最近后台有一个列表查询功能,今年数据量起来后,导致数据库 慢查询,导致线上服务器直接504。这其中涉及到一个大表,主键id;在查询时候使用了 order by id desc limit 20,explain发现接近全表扫描了。围绕这个问题,逐步修改语句优化,发现去掉 status条件或者 忽略 status索引,即可。但是,这个又是远古遗留问题,status索引理应不建立(吐槽以前的小伙伴),如今又不能手动去掉。可以选择如下解决方案:1、去掉where status.

2020-11-30 10:46:36 1453

原创 阿里云RDS mysql 数据库服务器 错误SQLSTATE(HY000) –rds-deny-access option

今天凌晨有同事反映,后台崩了~尝试访问下确实报错了 查看下错误信息连接数据库一直提示:“the mysql server is running with the --rds-deny-access option so it cannot execute this statement”原因是阿里云数据库被锁定了登陆阿里云 原来是数据库忘记续费、到期了,被锁定,续费就可以了...

2020-10-10 10:21:01 322

原创 Yii2 场景 验证那些事儿

直接上代码(主要部分):模型层:public function rules(){ return [ [['name', 'account', 'pwd'], 'string', 'max' => 11], ['account','required','message'=>'用户名不能为空'], ['pwd','required','message'=>'密码不能为空','on'=>'update'] ];}

2020-06-29 16:12:44 494

原创 如何使用JS格式化展示json数据

简简单单,直接上代码: layer.open({ type: 1, content: '<pre>'+JSON.stringify(sourceData, null, 4)+'</pre>', title: '查看JSON数据', area: ['600px', '500px'], });效果如下,格式化展示:...

2020-06-29 09:52:23 1475

原创 Linux命令行查看内存的那些事儿

1、toptop命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器。第一行,任务队列信息,同 uptime 命令的执行结果系统时间:07:27:05运行时间:up 1:57 min,当前登录用户: 3 user负载均衡(uptime) load average: 0.00, 0.00, 0.00average后面的三个数分别是1分钟、5分钟、15分钟的负载情况。load average数据是每隔5秒...

2020-06-20 11:32:00 534

原创 php获取 任意一天 所在周的周一、周日

话不多说,直接上代码: $year = '2020'; $week = date('W',strtotime(date('Y-m-d'))); $strPad = str_pad(9, 2, 0, STR_PAD_LEFT); $rs = $year . 'W' . str_pad($week, 2, 0, STR_PAD_LEFT); $Monday = date('Y-m-d', strtotime($r

2020-06-17 17:07:28 1233

原创 select * from a,b 记录

仅作为记录用来翻阅提醒,因为老忘:1、select * from a,b为笛卡尔乘积,对笛卡尔乘积概念不熟的呢就自行搜索百科复习一下;2、select * from a,b where a.c=b.c 等价于select * from a inner join b on a.c=b.c;3、select * from a left join b on a.c=b.c将a表查询的结果去b中做匹配,匹配不到的就显示为null,所以返回的总数为表a中行数;4、

2020-06-17 11:36:49 6122

原创 YII2 Url 助手类(Url Helper)

创建 URLs(Creating URLs)为了创建一个给定路由的 URL 地址,请使用Url::toRoute()方法。 这个方法使用yii\web\UrlManager来创建一个 URL :$url = Url::toRoute(['product/view', 'id' => 42]);你可以指定一个字符串来作为路由,如:site/index。如果想要指定将要被创建的 URL 的附加查询参数, 你同样可以使用一个数组来作为路由。数组的格式须为:// generat...

2020-06-12 13:58:21 420

原创 layer.prompt 无法居中问题解决

话不多说,直接上代码:<!DOCTYPE html><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>房间</title></head><body> <div id="code"></div> <script type="text/javas

2020-06-10 09:11:03 914

原创 MySQL查询count(*)、count(1)、count(field)的区别

经过查询研究得出这个和MySQL中用什么引擎有关,比如InnoDB和MyISAM在处理这count(*)、count(1)、count(field)都有不同的方式,还有就是和版本都有关系,不同的版本会对查询进行优化处理等等。下面是网络上普遍的解释:count(*)对行的数目进行计算,包含NULLcount(column)对特定的列的值具有的行数进行计算,不包含NULL值。count()还有一种使用方式,count(1)这个用法和count(*)的结果是一样的。任何情况下select co

2020-06-03 10:50:03 338

原创 phpword 利用现有模板文档,填充数据和图片后导出保存

话不多说,直接说步骤:1、利用composer下载 phpword:composer require phpoffice/phpword2、直接使用即可: public function actionTest() { $phpWord = new PhpWord(); $template = $phpWord->loadTemplate('./html/test.docx');//模板文档 $template-&gt

2020-06-03 10:25:01 2139 1

原创 关于 yii2 中 yii2\base\model 中那些事

前面讲过数据,通过load方式导入数据对象的原理。下面主要分析下:$this->fields();追踪源码,在yii2/base/model: /* * @return array the list of field names or field definitions. * @see toArray() */ public function fields() { $fields = $this->attributes

2020-06-01 10:52:55 576

原创 关于 yii2的Active Record 的那些事

深入理解 yii2的Active Recordyii2 中的 $model->attribute() , $model->attributes , $model->attributes= [...], model->fields(),$model->toArray();以下依次进行剖析:1.$this->attributes() 执行的是model的attributes()方法,返回的数据库的字段数组, yii\db\Active...

2020-06-01 10:01:35 752

原创 yii\base\Model 和 yii\db\ActiveRecord 的区别简述

Active Record(活动记录,以下简称AR)提供了一个面向对象的接口, 用以访问数据库中的数据。一个 AR 类关联一张数据表, 每个 AR 对象对应表中的一行,对象的属性(即 AR 的特性Attribute)映射到数据行的对应列。 一条活动记录(AR对象)对应数据表的一行,AR对象的属性则映射该行的相应列。 可以直接以面向对象的方式来操纵数据表中的数据。Model模型是 MVC 模式中的一部分, 是代表业务数据、规则和逻辑的对象。可通过继承 yii\base\Model 或它的子类定义模型类..

2020-05-30 10:39:20 382

原创 mysql使用存储过程实现插入大规模量模拟数据以及坑

有些时候对于mysql需要进行一些测试,或者项目上线前的测试,这时候就需要使用一些模拟数据。在即将上线的系统中插入接近线上的真实数据,本来使用shell也是能实现,但是发现shell确实效率太低,根本无法利用服务器资源,所以选择使用mysql的存储过程来实现。 代码贴出 一对一t_warehouse_order.order_code -->t_warehouse_waybill.order_code 使用游标遍历单字段数据,每2000条一次事务。del...

2020-05-29 15:24:51 531

原创 Jquery LayUI 弹层、表单、JSON循环

项目中某个需求,需要批量导入json数据,并渲染到页面表单。话不多说,步骤如下:1、页面增加快速导入按钮: <button id="ksdr" style="margin-left: 5px;" type="button" class="layui-btn layui-btn-radius layui-btn-normal">快速导入配置</button>2、随之,编写相关的js代码: function isJsonString(str) {

2020-05-28 17:41:34 627

原创 yii2.0框架的错误和异常处理机制 --- 源码解读

在应用开发中,错误和异常处理机制是一块比较重要的模块。yii框架有专门的模块来进行错误和异常处理,本文尝试从yii2.0的源码出发,对yii框架的错误和异常处理机制做一个说明。yii2.0中,错误和异常处理最先接触到的就是 frontend/config/main.php 中的 component中的一项配置 :'errorHandler' => ['errorAction'=>'site/error']我们先记下这个配置,然后来看看yii框架的启动过程以及错误和异常处理在yii框架中

2020-05-27 18:18:25 1056

原创 阻塞非阻塞 同步异步

老张爱喝茶,废话不说,煮开水。出场人物:老张,水壶两把(普通水壶,简称水壶;会响的水壶,简称响水壶)。1 老张把水壶放到火上,立等水开。(同步阻塞)老张觉得自己有点傻2 老张把水壶放到火上,去客厅看电视,时不时去厨房看看水开没有。(同步非阻塞)老张还是觉得自己有点傻,于是变高端了,买了把会响笛的那种水壶。水开之后,能大声发出嘀~~~~的噪音。3 老张把响水壶放到火上,立等水开。(异步阻塞)老张觉得这样傻等意义不大4 老张把响水壶放到火上,去客厅看电视,水壶响之前不再去看它了,响了再去拿壶。(

2020-05-27 14:23:06 111

原创 YII2 全局异常处理

常用的处理是: 用户行为导致的错误通常不需要记录日志,因为若是多人使用的情况下会导致日志量过大,但需要向客户端返回具体原因以便用户用正确的方式调用我们的接口;而服务器出现的错误则需要记录日志,因为我们是需要解决这些错误的,记录日志让我们比较方便的找到错误的原因,快速解决,但不向客户端返回具体原因,因为用户没办法通过自己的行为使异常不再出现。当然我们也可以根据自己的业务决定自己的异常处理方式。

2020-05-27 14:13:52 2270 2

原创 yii2 关于 load 和 save 那些事儿

话不多说,直奔主题!直接上源码分析: public function load($data, $formName = null) { // 调用load 一般我是 $test = new test() // $test->load('参数1','参数2') // 参数1 一般是post get 传过来的参数 第二个参数 是一个空字符串 ''; // $this->formName() 返回的额是 你实例

2020-05-26 16:42:12 629

原创 yii2 controller behaviors 函数的 那些事儿

首先写一个例子,在siteController中覆盖behaviors函数: public function behaviors() { return [ 'access' => [ 'class'=>AuthFilter::className(), 'only'=>['index'], ], 'access11'

2020-05-26 15:37:03 544

原创 PHP引用变量的工作原理

概念:在PHP中引用意味着用不同的名字访问同一个变量内容。定义方式:使用 & 符号。工作原理:1、定义一个变量$a$a = range(0,100);意味着在内存开辟一片空间,并且$a指向这片空间。2、定义一个变量$b,将$a的值赋值给$b$a = range(0,100);$b = $a;此时,意味着,只是将$b指向了$a开辟的...

2019-04-28 17:54:39 272

ZX-2开发板规格书

ZX-2开发板规格书.关于fpga开发板的详细介绍资源。 ZX-2开发板规格书.关于fpga开发板的详细介绍资源。

2017-12-28

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除