摘要:Golang开发 1.GO语言基础 [日常] 搭建golang开发环境 [日常] Go语言圣经前言 [日常] Go语言圣经-声明,变量,赋值,类型,包和文件习题 [日常] Go语言圣经--作用域,基础数据类型,整型 [日常] Go语言圣经--浮点数习题 [日常] Go语言圣经--复数,布尔值,字符串 阅读全文
posted @ 2020-12-17 11:29 陶士涵 阅读(142) 评论(0) 推荐(0) 编辑
摘要:arr.splice(start,delete_length)这种方式数组长度相应改变,原来的索引也相应改变。splice()删除后返回的是删除的元素。另外splice()还可以添加,替换数组元素。 var arr = [1,true,{},"a"];var a = arr.splice(0,2); 阅读全文
posted @ 2021-07-31 14:51 陶士涵 阅读(2) 评论(0) 推荐(0) 编辑
摘要:当更新完代码后,每次都得重启,效率比较低 可以使用官方的热更新包,实现修改代码后,自动重启 如果是新版本安装 composer require hyperf/watcher --dev 如果是使用旧的版本可以直接在composer.json require-dev中添加 比如2.1.* "hyper 阅读全文
posted @ 2021-07-29 16:19 陶士涵 阅读(4) 评论(0) 推荐(0) 编辑
摘要:在使用hyperf框架的时候 swoole必须关闭短别名 swoole.use_shortname=off 例如写在如下swoole的配置文件中 /usr/local/php/conf.d/swoole.ini 阅读全文
posted @ 2021-07-29 15:32 陶士涵 阅读(6) 评论(0) 推荐(0) 编辑
摘要:当使用laravel的日志类记录信息的时候 Log::info("xxxx") 发现Log类里并没有定义info 静态方法,但是仍然可以调通 原因就是__callStatic魔术方法,当静态方法不存在的时候,会调用这个魔术方法 简单的测试用例 <?php /** * Class Log * @met 阅读全文
posted @ 2021-07-28 17:07 陶士涵 阅读(3) 评论(0) 推荐(0) 编辑
摘要:当需要从多维数组中获取值,并且进行判空,赋值默认值的时候 可以使用下面的测试用例 $arr=[ "name"=>"陶士涵", "title"=>[ "sub"=>"测试" ], "test"=>null, "desc"=>"", "num"=>0, ]; $name=data_get($arr,"n 阅读全文
posted @ 2021-07-28 10:13 陶士涵 阅读(3) 评论(0) 推荐(0) 编辑
摘要:curl经常使用的命令,想要post json类型的数据,要注意header头和data数据 curl -XPOST sopans.com/test \ -H 'content-type:application/json' \ -d '{ "encrypt_tel":"c64ac2a6b2d149a 阅读全文
posted @ 2021-07-27 19:26 陶士涵 阅读(6) 评论(0) 推荐(0) 编辑
摘要:php的执行流程: 1. PHP 初始化执行环节,启动 Zend 引擎,加载注册的扩展模块。2. 初始化后读取 PHP 脚本文件,Zend 引擎对 PHP 文件进行词法分析,语法分析,生成语法树。3. Zend 引擎编译语法树,生成 Opcode。4. Zend 引擎执行 Opcode,返回执行结果 阅读全文
posted @ 2021-07-27 17:04 陶士涵 阅读(3) 评论(0) 推荐(0) 编辑
摘要:这句话的意思是指定的索引长度太大了 myisam索引最大是1000字节 innodb索引最大是767字节 如果字段是varchar字段,字符个数太大了,指定索引的时候会报错,搞小一点 阅读全文
posted @ 2021-07-27 14:28 陶士涵 阅读(5) 评论(0) 推荐(0) 编辑
摘要:包括go run时候的临时文件绝对路径 或者正常编译后执行的绝对路径 //获取程序执行目录 func GetRunPath() (string, error) { path, err := filepath.Abs(filepath.Dir(os.Args[0])) return path, err 阅读全文
posted @ 2021-07-27 10:18 陶士涵 阅读(6) 评论(0) 推荐(0) 编辑
摘要:yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh 真的是很简单的了 阅读全文
posted @ 2021-07-22 20:06 陶士涵 阅读(3) 评论(0) 推荐(0) 编辑
摘要:centos版本 cat /etc/redhat-release [root@iZt4nfi13rgw5yqxf67k84Z ~]# cat /etc/redhat-release CentOS Linux release 7.9.2009 (Core) [root@iZt4nfi13rgw5yqx 阅读全文
posted @ 2021-07-22 20:04 陶士涵 阅读(3) 评论(0) 推荐(0) 编辑
摘要:这是因为navicat的版本问题 navicat11.0版本的不行,会报这个错误 下载了一个navicat12的解决了 链接: https://pan.baidu.com/s/1zs-rWy-PE4OvUJfORbxAOw 提取码: 43id 阅读全文
posted @ 2021-07-22 11:47 陶士涵 阅读(4) 评论(0) 推荐(0) 编辑
摘要:rz上传 sz下载工具 在centos下默认没有 需要安装 yum install lrzsz 阅读全文
posted @ 2021-07-22 09:43 陶士涵 阅读(7) 评论(0) 推荐(0) 编辑
摘要:在用php artisan test做单元测试的时候 需要指定测试某个测试方法 php artisan test --filter 方法名 测试文件路径 例如下面这样: 阅读全文
posted @ 2021-07-21 16:23 陶士涵 阅读(5) 评论(0) 推荐(0) 编辑
摘要:当想往mysql中导入大文件的时候 进入了mysql 命令行客户端 执行source /xxxx.sql 这个时候直接报错mysql server gone away 这是因为max_allowed_packet设置的太小的原因 max_allowed_packet是客户端/服务器之间通信的缓存区的 阅读全文
posted @ 2021-07-19 19:35 陶士涵 阅读(6) 评论(0) 推荐(0) 编辑
摘要:这个是因为bootstrap/cache目录不存在,或者权限不足的时候 无法写入自动加载映射文件的原因 创建这个目录给下权限,从新执行生成缓存映射文件的命令就可以了 composer dump-autoload 我出现这个的原因是,我提交到git版本库的时候,忽略了bootstrap/cache目录 阅读全文
posted @ 2021-07-19 15:16 陶士涵 阅读(8) 评论(0) 推荐(0) 编辑
摘要:hex2bin() 转换十六进制字符串为二进制字符串。 警告这个函数不是 转换十六进制数字为二进制数字。这种转换可以使用base_convert() 函数。 错误/异常 如果输入的十六进制字符串是奇数长数或者无效的十六进制字符串将会抛出 E_WARNING 级别的错误。 输入的字符串必须是偶数 阅读全文
posted @ 2021-07-19 11:08 陶士涵 阅读(7) 评论(0) 推荐(0) 编辑
摘要:直接上代码: package tools import ( "bytes" "crypto/aes" "crypto/cipher" ) func PKCS5Padding(ciphertext []byte, blockSize int) []byte { padding := blockSize 阅读全文
posted @ 2021-07-18 12:21 陶士涵 阅读(5) 评论(0) 推荐(0) 编辑
摘要:当使用AES加解密的时候报了这个错误 原因是AES的key字节长度不对 看源码 // NewCipher creates and returns a new cipher.Block. // The key argument should be the AES key, // either 16, 阅读全文
posted @ 2021-07-18 12:18 陶士涵 阅读(17) 评论(0) 推荐(0) 编辑
摘要:??是null合并运算符 <?php // NULL 合并运算符的例子 $action = $_POST['action'] ?? 'default'; // 以上例子等同于于以下 if/else 语句 if (isset($_POST['action'])) { $action = $_POST[ 阅读全文
posted @ 2021-07-17 18:10 陶士涵 阅读(9) 评论(0) 推荐(0) 编辑
摘要:使用laravel框架的测试用例很简单 比如说想要测试Aes类 只需要 php artisan make:test AesTest 就会生成在下面目录 项目/tests/Feature/AesTest.php 新增一个测试方法,测试Aes类的解密 public function test_decry 阅读全文
posted @ 2021-07-16 19:41 陶士涵 阅读(6) 评论(0) 推荐(0) 编辑
摘要:laravel的服务提供者是框架的引导中心 在config/app.php文件中的providers数组是所有注册的服务提供者 大部分是框架本身的服务提供者 下面这个部分是框架应用的服务提供者 在服务提供者类里面最主要的就是两个方法register和boot 在register方法中,可以把自己的服 阅读全文
posted @ 2021-07-14 20:06 陶士涵 阅读(5) 评论(0) 推荐(0) 编辑
摘要:当我新下载的框架,accesslog日志中间件并不能准确记录到指定文件里 总是提示access没有定义 按照文档 config/logging.php里面,默认肯定是定义了的 'access' => [ 'driver' => 'daily', 'path' => storage_path('log 阅读全文
posted @ 2021-07-14 11:31 陶士涵 阅读(8) 评论(0) 推荐(0) 编辑
摘要:本地分支和远程分支是两个东西,就想master 和 origin/master 一个是本地分支,一个是远程分支 一般会有一个追踪关系,分支名相同 ,本地分支 > 远程分支是保持同步的 当我们本地没有这个分支,但是想拉取远程分支的时候,例如远程有个origin/dev分支,但是我本地并没有 git p 阅读全文
posted @ 2021-07-13 19:44 陶士涵 阅读(11) 评论(0) 推荐(0) 编辑
摘要:当使用laravel框架的时候,如果是个复杂项目可以使用模块化开发 可以使用这个扩展包nwidart/laravel-modules 安装步骤 composer require nwidart/laravel-modules 修改composer.json ,增加那句Modules "psr-4": 阅读全文
posted @ 2021-07-13 14:14 陶士涵 阅读(14) 评论(0) 推荐(0) 编辑
摘要:当使用gitlab版本仓库存储laravel代码的时候 一般会默认忽略掉.env文件 这个时候,直接在仓库拉的代码是不能直接运行的 会报500错误 查看storge/logs/laravel.log文件 可以看到这个报错 production.ERROR: No application encryp 阅读全文
posted @ 2021-07-12 19:46 陶士涵 阅读(4) 评论(0) 推荐(0) 编辑
摘要:当我是一个delevoper角色时,我可以创建空仓库 但是当我第一次推代码的时候,报了这句话 remote: Ask a project Owner or Maintainer to create a default branch 没有默认分支,并且我也没有权限创建默认分支 这个是gitlab的特性 阅读全文
posted @ 2021-07-12 18:24 陶士涵 阅读(90) 评论(0) 推荐(0) 编辑
摘要:windows下确保安装最新的composer 执行以下命令就会安装成功 composer create-project --prefer-dist laravel/laravel my-laravel 进去目录后,执行 php artisan serve 直接访问http://127.0.0.1: 阅读全文
posted @ 2021-07-12 11:25 陶士涵 阅读(3) 评论(0) 推荐(0) 编辑
摘要:composer有四种自动加载形式 file,classmap,psr-0,psr-4 第一种file 是最简单的 目录下的文件 文件的内容 index.php 我的composer.json配置 { "name": "taoshihan/composer", "autoload": { "file 阅读全文
posted @ 2021-07-09 17:54 陶士涵 阅读(9) 评论(0) 推荐(0) 编辑
摘要:这是配置本地的自动加载机制,一般是采用psr-4的标准,也就是命名空间和目录对应的形式 例如下面的autoload "autoload": { "psr-4": { "App\\": "app/", "Database\\Factories\\": "database/factories/", "D 阅读全文
posted @ 2021-07-09 17:17 陶士涵 阅读(6) 评论(0) 推荐(0) 编辑
摘要:在使用composer的时候,可以使用composer remove 移除不想使用的包 composer remove 扩展包1 扩展包2 扩展包3 可以把require 和 require-dev下的所有依赖包都移除 移除后的vender目录 阅读全文
posted @ 2021-07-09 17:08 陶士涵 阅读(13) 评论(0) 推荐(0) 编辑
摘要:在composer install 参数中 --no-dev 当加上这个参数 composer.json文件中 require-dev中的包就不会安装了 这个在线上的时候,可以使用,这样就不会把开发中需要的包按到线上 require中所引用的包在线上和开发环境均会使用 require-dev中的包只 阅读全文
posted @ 2021-07-09 16:34 陶士涵 阅读(4) 评论(0) 推荐(0) 编辑
摘要:版本规则: 主版本号.次版本号.修订号 ^ 表示除了大版本号,其他都可以变 "php": "^7.3|^8.0", 意思是 7.3<=版本号<8.0 或者 8.0<=版本号<9.0 ~表示版本号只能改变最末尾那段,更严格一点 "mockery/mockery": "~1.3.2" 意思是 1.3.2 阅读全文
posted @ 2021-07-09 16:17 陶士涵 阅读(13) 评论(0) 推荐(0) 编辑
摘要:简单的理解就是 --prefer-dist 是从 composer服务器获取代码 , 会有一点延迟 –prefer-source 是从源头github获取代码,是最新代码但是速度会有点慢 阅读全文
posted @ 2021-07-09 15:59 陶士涵 阅读(3) 评论(0) 推荐(0) 编辑
摘要:硬链接和普通文件是平权的,基本一样 可以使用ls -l ll 来查看是否是硬链接 数字大于1 , 就是硬链接 阅读全文
posted @ 2021-07-07 11:40 陶士涵 阅读(29) 评论(0) 推荐(0) 编辑
摘要:出现这个问题是因为并发的调用了github.com/gorilla/websocket库的WriteMessage方法 在websocket连接上有多个groutinue同时调用写方法 go官方的解释: websocket · pkg.go.dev 并发 连接支持一个并发读取器和一个并发写入器。 应 阅读全文
posted @ 2021-07-06 10:19 陶士涵 阅读(10) 评论(0) 推荐(0) 编辑
摘要:比如保存网页为图片等等方式对于processON流程图网页都不行 在实验了几个方法都不行后,还是QQ的截图好用 ctrl+ alt + a 出现工具栏后点击长截图就可以了 阅读全文
posted @ 2021-07-03 18:17 陶士涵 阅读(22) 评论(0) 推荐(0) 编辑
摘要:迁移: 就是把系统原语言代码照着抄一遍到新语言项目上,按照新语言的工程实现风格来做就可以。其间最忌掺杂代码优化和 bug 修复,会容易引起新的问题,增加验证代码的难度。 重构: 目的是提高项目代码的可维护性和可迭代性,让代码更优雅和易读懂,可以放到迁移完成来做。 优化: 通过在模块依赖、调用关系、接 阅读全文
posted @ 2021-07-02 09:54 陶士涵 阅读(11) 评论(0) 推荐(0) 编辑
摘要:order by field(value,str1,str2,str3,str4,,,,,,strn) value就是要排序的字段 其中value后面的参数自定义的值,不限制参数个数 将获取出来的数据根据str1,str2,str3,str4等的顺序排序 阅读全文
posted @ 2021-07-01 17:42 陶士涵 阅读(11) 评论(0) 推荐(0) 编辑
摘要:当本地分支落后于远程分支 本地分支没有pull , 直接改代码并且进行commit 此时如果push的时候,会要求pull一下 pull完以后再进行push , 日志里就会出现这条 pull的过程其实就是 fetch+merge 的一个过程。我们从 remote 分支中拉取新的更新,然后再合并到本地 阅读全文
posted @ 2021-06-30 15:38 陶士涵 阅读(16) 评论(0) 推荐(0) 编辑