首页
统计
留言
Search
1
PHP中使用反射
995 阅读
2
phpstorm配置SFTP
940 阅读
3
Go语言——结构体
792 阅读
4
PhpStorm 使用 AI 代码生成工具 Codeium
779 阅读
5
关于PHP的垃圾回收机制
763 阅读
后端
PHP
Go
数据库
其他
前端
其他技术
生活杂谈
登录
Search
标签搜索
Laravel
Mysql
RPC
Redis
Liunx
PHP
CSS
ES
算法
开发工具
断点续传
反射
phpstorm
工具
防盗链
CURL
设计模式
面试
Nginx
搜索引擎
quhe.net
首页
栏目
后端
PHP
Go
数据库
其他
前端
其他技术
生活杂谈
页面
统计
留言
搜索到
10
篇与
其他技术
的结果
2022-02-07
NameCheap优惠码
NameCheap也是我最为喜欢的域名注册商之一,其虽然是从ENOM代理商做起来的,但是经历过年的壮大发展目前品牌已经深入我们用户口碑。其至少在我们普通站长中的口碑和形象还是非常好的,虽然不及Godaddy优惠码多,也不支持支付宝付款,但是其DNS的稳定,以及变化多样的促销优惠信息还是深得我们喜欢。在NameCheap注册域名到底有哪些优势呢?第一,性价比高。NameCheap在没有节日特别优惠活动的时候,平时的每月优惠活动价格并不是最为便宜的,但是首次注册域名送隐私保护这样折合出来的费用还是比较具有竞争力的。第二,稳定性。我们在使用Godaddy域名的时候,如果我们是用来做中文网站,我们必须要用第三方DNS或者购买付费DNS解析才比较稳定,Namecheap域名的自带DNS还是相当的稳定。我们不需要再使用第三方DNS。第三,免费隐私保护。购买域名,都免费赠送域名隐私保护,我个人还是比较喜欢隐私保护的,因为如果你的网站较多,还是会受到"站群"影响,虽然是微乎其微的影响,但毕竟还是有利的,尤其是对域名的安全性也是比较好。第四,优惠活动。NameCheap每月都会有固定的优惠,不论是在主机还是在域名上,每月还是有小幅度的优惠;而且在每逢大的节日,都会有较大的转入和新注册优惠,而且还是比较大方。@NameCheap 官方网站第一、Namecheap域名优惠码优惠码:NYDMN23备注说明:新注册或者转移.COM/ORG/NET/BIZ/INFO域名可以使用,新注册.COM域名仅需9.61+0.18美元,送隐私保护。转入.COM域名仅需8.79+0.18美元,送隐私保护。续费域名没有优惠。第二、Namecheap企业邮局优惠码优惠码:NYPE23Namecheap商家有提供企业邮局,如果我们有需要域名邮局、企业邮局的话可以选择,还是比较便宜的。优惠码折扣后可以六五折优惠。第三、Namecheap SSL优惠码优惠码:NYSSL23备注说明:新购买Namecheap SSL证书,可以享受八三折优惠。第四、续费优惠码优惠码:COUPONFCNCNamecheap域名新注册活动便宜,但是续费是比较贵的,我们一定要使用这个优惠码享受续费优惠。适合域名和SSL等。需要注意的几个问题:第一,域名隐私保护也是免费的,我们可以在购买域名的时候开启。第二,域名是可以自由转出的,但必须在新购买60天之后转出。第三,在平时,如果有低价注册或者转入优惠,如果我们第二次转出到其他注册商,然后在有转入优惠想转入进来是不可以的。
2022年02月07日
10 阅读
0 评论
0 点赞
2021-12-27
PhpStorm的8个技巧
1、大小写转换--避免重复写字母大小写切换在定义常量的时候就经常用到,如果你输入的常量是小写字母的。用鼠标选中文本,然后键盘按住Ctrl +Shift + U,这样就可以将文本中的字母全部转换为大写的字母,反之就可以转换为小写字母。快捷方便,避免重新输入。2、多个位置选中--减少重复写看以上图片,如果你操作的地方有多处是一样的,你可以这样操作:鼠标选中文本后,按住Alt + J可以同时选中相同的文本进行编辑,按住Alt +Shift+ J可以取消选中。这个快捷键的名字叫Add Selection for Next Occurrence,你可以在设置中中进行搜索,也可以修改成其他的快捷键。3、加入自定义字典--干掉错别字这个和你自己在开发中常量或变量的命名时有关,但尽量命名为相关的英文单词,这样提高代码质量。或代码中命名的词不是英文单词时,就会在该词下方出现波浪线标识,导致分不清是自己单词拼错了还是本身就不是单词,你可这样操作:鼠标选中该单词后,按住Alt + Enter 键,选择Save to project-level dictionary 就可以把讨厌的波浪号去掉啦。4、显示代码行号鼠标右键点击代码区域左边空白栏,选Show Lines Nimbers即可,相反取消选中即隐藏行号,方便程序报错时不知道选行号的程序员查看错误行。这里顺便讲一下 行号的快捷键:只需要Ctrl+G 弹出框,输入行号即可!5、代码格式优化把光标放于文件里可以格式化整个文件,或者选中要优化格式的代码,按住Ctrl + Alt + L即可自动优化所有代码格式,增强了整个代码的阅读性!6、代码模板设置,自动补全代码对于这样的操作在开发中也是经常出现的,你可以这样来操作:在Settings>Editor>Live Templates 进行自定义配置,也可配置其他需要补全的代码。设置后,假如你输入fore后点击Tab键可以自动补全foreach代码,不过现在新版的IDE都是自动的为你补全代码了,原因是自动默认了摄设置7、SSH工具--链接服务器点击Tools>Start SSH session...,在之后的弹窗中选择要链接的服务器即可直接链接,如果没有配置过服务器,可以在弹窗中选中Edit credentials进行添加服务器配置。8、FTP工具--远程改文件点击Tools>Deployment>Browse Remote Host可以直接链接远程服务器ftp。查看日志、修改配置文件非常方便,注意修改完文件要点击右上角的 ↑ 才能保存修改到服务器哦。这样你就不需要用其他的ftp工具了!9、设置单行注释符缩进位置用phpstorm给PHP代码设置//注释,默认情况下,快捷键 Ctrl + / 会将注释符 // 放在最前边, 可以通过以下设置使用 // 也跟代码一样支持缩进:File > Settings > Editor > Code Style > PHP > Code Generation 取消勾选 Line comment at first column 即可这里在穿插几个自己经常用的插件汉化插件就不必说了,看不懂英文的都会去配置,打开设置-插件的位置,搜索chinese,出来图标-汉,就是了!直接安装后重启地图插件,类似SublimeText的Mini Map插件。方便查看代码块。打开设置-插件,搜索:CodeGlance 安装,重启即可PHP文档插件:以前开发时遇到不懂的都要去查看PHP文档,现在几乎都很强大了,一个工具一个插件就能搞定很多事情,查看PHP文档,在设置的插件里搜索:chinese php document,安装,然后重启即可使用!
2021年12月27日
126 阅读
0 评论
3 点赞
2021-10-05
git commit 使用及规范
git commit 使用说明1 概述git提交推荐使用命令行工具,请严格遵循提交格式。2 提交格式在您git add后,推荐执行git commit进行提交,如无特殊描述信息要添加,也可以git commit -m <mess>进行提交。要求提交格式如下:<type>(<scope>): <subject> <BLANK LINE> <body> <BLANK LINE> <footer> type表示提交类别,scope表示修改范围,subject表示标题行, body表示主体描述内容。2.1 type说明type在commit -m 里也必须存在type:xxx。feat: 添加新功能fix: 修复bugdocs: 仅仅修改了文档style: 仅仅修改了空格、格式缩进、逗号等等,不改变代码逻辑refactor: 代码重构,没有加新功能或者修复bugperf: 优化相关,比如提升性能、体验test: 增加测试用例chore: 改变构建流程、或者增加依赖库、工具等revert: 回滚到上一个版本2.2 scope说明非必填(建议填写),scope用于说明 commit 影响的范围,建议填写影响的功能模块。如果你的修改影响了不止一个scope,你可以使用*代替。2.3 subject说明必填, commit 目的的简短描述,不超过50个字符。以动词开头,使用第一人称现在时,比如change,而不是changed或changes第一个字母小写结尾不加句号2.4 body说明非必填(建议填写),可描述当前修改的行为详细信息或修改的目的。2.5 footer说明非必填,一般用于描述BREAKING CHANGE,在项目开发中一般不需要填写,组件研发的工程需要填写。格式:以BREAKING CHANGE开头,后面是对变动的描述、以及变动理由和迁移方法。3 提交方式如上2所示格式,本质上是改变文件 .git COMMIT_EDITMSG 中的文本,实际提交过程如下(推荐命令行提交):3.2 cmd(notepad)window系统下默认git编辑工具是vim,如无相关基础,建议使用window默认的文本编辑器(这里不赘述vim相关编辑方法)。修改git默认文本编辑器: git config core.editor notepad修改后执行git commit,会弹出文本编辑器。我们要按照规定的格式在注释前加入要提交的commit信息:feat(人员新增): 增加人员批量导入 - 增加批量报盘功能 - 增加人员报盘后结果查询功能 - 修改人员新增布局 然后保存并关闭,会提示如下信息:[master 756c07e] feat(人员新增): 增加人员批量导入 1 file changed, 2 insertions(+)在push完成后,gitlab的commit列表中会有如下信息:3.2 shell(GNU nano)提交方式在您执行git commit后,命令行会有如下显示:projectRoot/.git/COMMIT_EDITMSG # 请为您的变更输入提交说明。以 '#' 开始的行将被忽略,而一个空的提交 # 说明将会终止提交。 # # 位于分支 master # 您的分支与上游分支 'origin/master' 一致。 # # 要提交的变更: # 修改: CHANGELOG.md # # 未跟踪的文件: # .idea/ # [ 已读取 13 行 ] ^G 求助 ^O 写入 ^W 搜索 ^K 剪切文字 ^J 对齐 ^C 游标位置 ^X 离开 ^R 读档 ^\ 替换 ^U 还原剪切 ^T 拼写检查 ^_ 跳行如上所示,我们要按照规定的格式在注释前加入要提交的commit信息:feat(人员新增): 增加人员批量导入 - 增加批量报盘功能 - 增加人员报盘后结果查询功能 - 修改人员新增布局 输入完成后,根据快捷键提示,按ctrl + O,然后出现要修改的MSG文件名,按回车键。此时提示如下:[ 已写入 19 行 ]最后按ctrl + X提交完成,提示如下:[master 756c07e] feat(人员新增): 增加人员批量导入 1 file changed, 2 insertions(+)在push完成后,gitlab的commit列表中会有如下信息:
2021年10月05日
93 阅读
0 评论
2 点赞
2019-12-30
PHP面试常见问题
基础篇了解大部分数组处理函数字符串处理函数 区别 mb_ 系列函数& 引用,结合案例分析== 与 === 区别isset 与 empty 区别全部魔术函数理解static、$this、self 区别private、protected、public、final 区别OOP 思想抽象类、接口 分别使用场景Trait 是什么东西echo、print、print_r 区别(区分出表达式与语句的区别)__construct 与 __destruct 区别static 作用(区分类与函数内)手册 、SOF__toString() 作用单引号'与双引号"区别常见 HTTP 状态码,分别代表什么含义301 什么意思 404 呢?进阶篇Autoload、Composer 原理 PSR-4 、原理Session 共享、存活时间异常处理如何 foreach 迭代对象如何数组化操作对象 $obj[key];如何函数化对象 $obj(123);yield 是什么,说个使用场景 yieldPSR 是什么,PSR-1, 2, 4, 7如何获取客户端 IP 和服务端 IP 地址客户端 IP服务端 IP了解代理透传 实际IP 的概念如何开启 PHP 异常提示php.ini 开启 display_errors 设置 error_reporting 等级运行时,使用 ini_set(k, v); 动态设置如何返回一个301重定向[WARNING] 一定当心设置 301 后脚本会继续执行,不要认为下面不会执行,必要时使用 die or exit如何获取扩展安装路径phpinfo(); 页面查找 extension_dir命令行 php -i |grep extension_dir运行时 echo ini_get('extension_dir');字符串、数字比较大小的原理,注意 0 开头的8进制、0x 开头16进制字符串比较大小,从左(高位)至右,逐个字符 ASCII 比较BOM 头是什么,怎么除去0xEF,0xBB,0xBF检测、去除什么是 MVC依赖注入实现原理如何异步执行命令模板引擎是什么,解决什么问题、实现原理(Smarty、Twig、Blade)如何实现链式操作 $obj->w()->m()->d();Xhprof 、Xdebug 性能调试工具使用索引数组 [1, 2] 与关联数组 ['k1'=>1, 'k2'=>2] 有什么区别缓存的使用方式、场景实践篇给定二维数组,根据某个字段排序如何判断上传文件类型,如:仅允许 jpg 上传不使用临时变量交换两个变量的值 $a=1; $b=2; => $a=2; $b=1;strtoupper 在转换中文时存在乱码,你如何解决?php echo strtoupper('ab你好c');Websocket、Long-Polling、Server-Sent Events(SSE) 区别"Headers already sent" 错误是什么意思,如何避免算法篇快速排序(手写)冒泡排序(手写)二分查找(了解)查找算法 KMP(了解)深度、广度优先搜索(了解)LRU 缓存淘汰算法(了解,Memcached 采用该算法)数据结构篇(了解)堆、栈特性队列哈希表链表对比篇Cookie 与 Session 区别GET 与 POST 区别include 与 require 区别include_once 与 require_once 区别Memcached 与 Redis 区别MySQL 各个存储引擎、及区别(一定会问 MyISAM 与 Innodb 区别)HTTP 与 HTTPS 区别Apache 与 Nginx 区别define() 与 const 区别traits 与 interfaces 区别 及 traits 解决了什么痛点?Git 与 SVN 区别数据库篇MySQL索引、联合索引(命中条件)分库分表(水平分表、垂直分表)分区会使用 explain 分析 SQL 性能问题,了解各参数含义Slow Log(有什么用,什么时候需要)重点理解 type、rows、keyCRUDJOIN、LEFT JOIN 、RIGHT JOIN、INNER JOINUNIONGROUP BY + COUNT + WHERE 组合案例常用 MySQL 函数,如:now()、md5()、concat()、uuid()等1:1、1:n、n:n 各自适用场景了解触发器是什么,说个使用场景数据库优化手段MSSQL(了解)查询最新5条数据NOSQL持久化支持多钟数据类型可利用 CPU 多核心内存淘汰机制集群 Cluster支持 SQL性能对比支持事务应用场景Redis、Memcached、MongoDB对比、适用场景(可从以下维度进行对比)你之前为了解决什么问题使用的什么,为什么选它?服务器篇查看 CPU、内存、时间、系统版本等信息find 、grep 查找文件awk 处理文本查看命令所在目录自己编译过 PHP 吗?如何打开 readline 功能如何查看 PHP 进程的内存、CPU 占用如何给 PHP 增加一个扩展修改 PHP Session 存储位置、修改 INI 配置参数负载均衡有哪几种,挑一种你熟悉的说明其原理数据库主从复制 M-S 是怎么同步的?是推还是拉?会不会不同步?怎么办如何保障数据的可用性,即使被删库了也能恢复到分钟级别。你会怎么做。数据库连接过多,超过最大值,如何优化架构。从哪些方便处理?502 大概什么什么原因?如何排查 504呢?架构篇偏运维(了解):负载均衡(Nginx、HAProxy、DNS)主从复制(MySQL、Redis)数据冗余、备份(MySQL增量、全量 原理)监控检查(分存活、服务可用两个维度)MySQL、Redis、Memcached Proxy 、Cluster 目的、原理分片高可用集群RAID源代码编译、内存调优缓存工作中遇到哪里需要缓存,分别简述为什么搜索解决方案性能调优各维度监控方案日志收集集中处理方案国际化数据库设计静态化方案画出常见 PHP 应用架构图框架篇ThinkPHP(TP)、CodeIgniter(CI)、Zend(非 OOP 系列)Yaf、Phalcon(C 扩展系)Yii、Laravel、Symfony(纯 OOP 系列)Swoole、Workerman (网络编程框架)对比框架区别几个方向点是否纯 OOP类库加载方式(自己写 autoload 对比 composer 标准)易用性方向(CI 基础框架,Laravel 这种就是高开发效率框架以及基础组件多少)黑盒(相比 C 扩展系)运行速度(如:Laravel 加载一大堆东西)内存占用设计模式单例模式(重点)工厂模式(重点)观察者模式(重点)依赖注入(重点)装饰器模式代理模式组合模式安全篇SQL 注入XSS 与 CSRF输入过滤Cookie 安全禁用 mysql_ 系函数数据库存储用户密码时,应该是怎么做才安全验证码 Session 问题安全的 Session ID (让即使拦截后,也无法模拟使用)目录权限安全包含本地与远程文件文件上传 PHP 脚本eval 函数执行脚本disable_functions 关闭高危函数FPM 独立用户与组,给每个目录特定权限了解 Hash 与 Encrypt 区别高阶篇PHP 数组底层实现 (HashTable + Linked list)Copy on write 原理,何时 GCPHP 进程模型,进程通讯方式,进程线程区别yield 核心原理是什么PDO prepare 原理PHP 7 与 PHP 5 有什么区别Swoole 适用场景,协程实现方式前端篇原生获取 DOM 节点,属性盒子模型CSS 文件、style 标签、行内 style 属性优先级HTML 与 JS 运行顺序(页面 JS 从上到下)JS 数组操作类型判断this 作用域.map() 与 this 具体使用场景分析Cookie 读写JQuery 操作Ajax 请求(同步、异步区别)随机数禁止缓存Bootstrap 有什么好处跨域请求 N 种解决方案新技术(了解)ES6模块化打包构建工具vue、react、webpack、前端 mvc优化浏览器单域名并发数限制静态资源缓存 304 (If-Modified-Since 以及 Etag 原理)多个小图标合并使用 position 定位技术 减少请求静态资源合为单次请求 并压缩CDN静态资源延迟加载技术、预加载技术keep-aliveCSS 在头部,JS 在尾部的优化(原理)网络篇IP 地址转 INT192.168.0.1/16 是什么意思DNS 主要作用是什么?IPv4 与 v6 区别网络编程篇TCP 三次握手流程TCP、UDP 区别,分别适用场景有什么办法能保证 UDP 高可用性(了解)TCP 粘包如何解决?为什么需要心跳?什么是长连接?HTTPS 是怎么保证安全的?流与数据报的区别进程间通信几种方式,最快的是哪种?fork() 会发生什么?API 篇RESTful 是什么如何在不支持 DELETE 请求的浏览器上兼容 DELETE 请求常见 API 的 APP_ID`APP_SECRET` 主要作用是什么?阐述下流程API 请求如何保证数据不被篡改?JSON 和 JSONP 的区别数据加密和验签的区别RSA 是什么API 版本兼容怎么处理限流(木桶、令牌桶)OAuth 2 主要用在哪些场景下JWTPHP 中 json_encode(['key'=>123]); 与 return json_encode([]); 区别,会产生什么问题?如何解决
2019年12月30日
457 阅读
0 评论
21 点赞
2018-01-10
phpstorm配置SFTP
之前一直用的FTP,但是上传文件经常遇到一些错误,然后换了SFTP后,稳定了很多。第一步,鼠标打开Remote Host界面,点击那三个点的地方会弹出窗口:第二步,填写自己的serverName(随意发挥),选择配置的类型为SFTP:第三步配置自己的服务器信息和远程的目录:第四步,Mapping也要配置一下,要不然同步代码的时候会出问题:到此已经完成了配置,连接成功后界面如下,顺利同步线上代码:如果想要更方便,可以设置Upload to Default Server的快捷方式:
2018年01月10日
940 阅读
0 评论
57 点赞
1
2