PHP7、8新特性
php7、php8新特性,包含标量、返回值声明,运算符,Match表达式,JIT,构造器等
PHP7新特性标量类型声明1function foo(int ...$param) {}
返回值类型声明1function foo(int ...$param): int {}
合并运算符12$arr = $param['name'] ?? 'nobody';$arr = $param['name'] ?: 'nobody';
组合比较符12//大于、等于、小于时,分别返回-1、0、1。1 <=> 2
通过 define() 定义常量数组1define('CONST', [1,3,4]);
use 加强1use namespace\{ClassA, ClassB, ClassC as C};
整除函数
intdiv()
PHP8新特性新mixed类型包含一下任何类型
array
bool
callable
int
...
intelliJ常用汇总
激活最新可用JetBrains激活服务器地址
JetBrains激活服务器地址:http://jetbrains-lic.novx.org
激活码发布页:https://novx.org/jetbrains
PHP面向对象面试题
静态类static和self区别
static::class 如果有继承的话 默认调用子类 ,否则调用的是自身
self::class 如果有继承的话,默认调用父类,否则调用自身
单例12345678910111213141516171819202122class Singleton{ private static $instances = []; protected function __construct() { } protected function __clone() { } public function __wakeup() { throw new \Exception("Cannot unserialize singleton"); } public static function getInstance() { $subclass = static::class; i ...
面试技巧
简历篇投放平台投放时间上午8:30-10:00;下午13:30-15:00;不要投递同一个公司,不要投递一个职位
智联招聘 https://www.zhaopin.com/BOSS直聘 https://www.zhipin.com/拉钩 https://www.lagou.com/前程无忧 https://www.51job.com/
自我介绍2 docker composer3 事务超卖现象 加悲观锁和乐观锁4 redo log 1.redo log通常是物理日志,记录的是数据页的物理修改,确保事务的持久性。防止在发生故障的时间点,尚有脏页未写入磁盘,在重启mysql服务的时候,根据redo log进行重做,从而达到事务的持久性这一特性。 2.undo用于事务失败时的回滚操作。undo log一般是逻辑日志,根据每行记录进行记录。 3.binlog 二进制日志,用于在主从复制中,从库利用主库上的binlog进行重播,实现主从同步。5 容器是什么管理类的依赖和执行依赖注入的工具。
6 依赖注入与控制反转
7 mysql主从同步数据不一致查看show slave st ...
如何保证数据库和缓存的一致性
缓存一致性的解决方案在不同场景下的分析解决方案无论好坏我都列在下面,如果你希望找一个靠谱的方案请选后面的,前面的例子主要还是给自己看看理解理解。(参考资料)[https://itdw.cn/229931.html]
利用写入顺序的方案
先写缓存再写数据库
先写数据库再写缓存
删除缓存方案
先删除缓存,再写数据库
先写数据库,再删缓存
先写缓存,再写数据库目前没人会用的方案,先写缓存风险太大,因为要明确当今主流的微服务架构下,任何服务都是不那么可靠的,如果先写缓存成功,再写数据库却失败了,这时我们的缓存中就出现了假数据,这是不可接受的,所以目前这种方案采用的很少。
先写数据库,再写缓存虽然没有假数据那么严重但还是存在同样的问题,如果先写数据库成功,再写缓存失败,那么数据库中数据虽然真实但是也读取不到,还是没有意义,指望服务自己争气不要出错等同于给自己埋雷。
也有人在这里会说可以把写数据库和写缓存都放在一个事务中,借助事务的原子性来保证正确。这还是会存在非常多的问题,在小并发量下勉强能用,但是这个做法将会严重影响接口性能,不过有时候我很怀疑学校自己的抢课系统是不是就是这么做的,不然怎么 ...
Socket常用面试题
socket通常称为”套接字”,用于描述IP地址和端口,是一种通信链的句柄。应用程序通过套接字向网络发出请求和应答的网络请求
套接字之间的连接过程
服务器监听:是服务器端套接字并不定位具体的客户端套接字,而是处于等待连接的状态,实时监控网络状态。
客户端请求:是指由客户端的套接字提出连接请求,要连接的目标是服务器端的套接字。为此,客户端的套接字必须首先描述它要连接的服务器的套接字,指出服务器端套接字的地址和端口号,然后就向服务器端套接字提出连接请求。
连接确认:是指当服务器端套接字监听到或者说接收到客户端套接字的连接请求,它就响应客户端套接字的请求,建立一个新的线程,把服务器端套接字的描述发给客户端,一旦客户端确认了此描述,连接就建立好了。而服务器端套接字继续处于监听状态,继续接收其他客户端套接字的连接请求。
三次握手
第一次握手:客户端尝试连接服务器,向服务器发送syn包(同步序列编号Synchronize Sequence Numbers),syn=j,客户端进入SYN_SEND状态等待服务器确认。
第二次握手:服务器接收客户端syn包并确认(ack=j+1) ...
Google Chrome开启自带的截图
最近 Google Chrome 更新一项新功能,用户可以从地址栏右侧分享选项找到屏幕截图的功能,不过目前没有默认开启,如果需要体验的话可以手动开启。
开启步骤
首先将 Google Chrome 更新到最新版本,在网址列输入 chrome://flags 开启实验室选项。
从上方搜索框输入 Desktop Screenshots 会看到底下有一个「Desktop Screenshots」选项,选项设定为「Enabled」,然后点选右下角「Relaunch」
重新启动浏览器后,在地址栏右侧点击小图标,即可使用截图功能
Butterfly主题相关文章标签使用实例
Mermaid便签可以绘制Flowchart(流程图)、Sequence diagram(时序图 )、Class Diagram(类别图)、State Diagram(状态图)、Gantt(甘特图)和Pie Chart(圆形图)Gallery 相册、图库,Tag。 flink可以在任何界面插入类似友情链接列表
Gallery相册图库
SMMS 图床上传工具是smms的一种,SMMS图床上传工具绿色版是一款相当出色的SMMS图床专用批量上传工具。SMMS国内地址
图库123<div class="gallery-group-main">{% galleryGroup name description link img-url %}</div>
name:图库名字
description:图库名字描述
link:连接到相册地址
img-url:图库封面的地址
Demo
壁紙
收藏的一些壁紙
相册12345{% gallery %}
top_img ...