- 珍藏BAT php编程面试100题汇总(一) 07-04
- 杠杆的干货,php入门须知填坑必备技能?用的上的你寄 07-04
- php 批量修改文件名称 07-04
- 怎么样才算是一名真正的软件工程师? 07-04
- 程序员鄙视链,看看你在哪一环 07-05
- 记一次服务器被黑经历 07-04
- Redis复制 07-03
- Redis优化—redis数据迁移 07-04
- 深信服面经(C++) 07-03
- Spring Cloud Gateway 原生的接口 07-04
珍藏BAT php编程面试100题汇总(一)
发布者: PHPYuan | 发布时间:2018-07-04分享PHP之父的趣事:在家附近的意大利饭馆用餐时,Rasmus Lerdorf意识到他吃的那盘意面正好是一个用来理解WWW万维网的极好模型,而所有的Web应用都应该仿照它们的媒介那样去做。在他的餐巾的背后,他 设计出了著名的“可编程超链接Pasta(Programmable Hyperlinked Pasta,PHP)”语言。PHP的文档至今仍然保留在那片餐巾上。
LOOK! LOOK !这就是别人家的孩子呀!连吃饭都在思考问题。(吹捧完大神,我们还是踏踏实实来掌握面试题吧!)
1,Http 和Https的区别
第一:http是超文本传输协议,信息是明文传输,https是具有安全性的ssl加密传输协议
第二:http和https使用的是完全不同的连接方式,端口也不一样,前者80 或者443
第三:http连接很简单,是无状态的。https协议是由ssl+http协议构建的
杠杆的干货,php入门须知填坑必备技能?用的上的你寄几知道
发布者: PHPYuan | 发布时间:2018-07-04初学者基本都用得上:
composer包查找
什么是MVC?M:全名model,与数据库进行交互。
V:view,视图,展示给用户看的
C:controller,控制器 用于接收用户的交互信息然后调度使用model进行逻辑处理的。
MVC好处?这种想法让前后端分离成为了可能,现在也实现了。主流的框架基本都是使用这个进行架构的。他可以让专业的分负责自己专业的领域,让分工更加的明确。比如前端工程师完全可以只专注视图,后端的工程师只做后端业务逻辑处理。大大的提升了开发的效率。
主流框架有哪些?第一个是大多数初学者入门的框架-thinkphp,简称tp。他的版本区别比较大,主要分为tp3.2和tp5.
第二个是laravel,他的主页上的宣传写的是“为web艺术家创造的php框架”,主推简洁优雅。我觉得他的亮点是路由还有中间件。他的路由你要到路由文件自己
php 批量修改文件名称
发布者: PHPYuan | 发布时间:2018-07-04————郁闷中,刚才写了一篇,不知道怎么了,提交完成后,并没有存上,重新写下,
最近遇到这样一件事,我下载了一些教学视频,但是视频前面都是很长的培训机构的名称,这样,不仅不方便挑选观看,手机上面的话还有可能名字显示不全,
我一共200多集,当然一个一个改很方便,但是作为程序员,我当然不会这么做,
贴代码
怎么样才算是一名真正的软件工程师?
发布者: PHPYuan | 发布时间:2018-07-04软件工程师可能很多人听说过,但是身边要么是java开发工程师,php开发工程师,C语言工程师等单一的工程师,软件工程师是熟练多种开发编程语言的全能开发工程师。
为什么说软件工程师是全能的开发工程师呢?软件开发工程师比全栈工程师要求还要多,所谓全栈工程师是从无都有完整开发网站,只要你会前端开发加上一种后台编程语言,就可能算是全栈工程师,但是软件工程师是一个广义的概念,他是软件设计师、软件架构师、还有熟悉的程序员等一系列岗位,工作内容都与软件开发生产相关,软件工程师技术要求比较全面,目前世面上流行编程语言都要熟练,比如java,php,C语言,C++等,当然数据库是必须要掌握的,比如mysql,SQL,oracle等。
记一次服务器被黑经历
发布者: PHPYuan | 发布时间:2018-07-04起因启动服务时,后台报了一个mysql错误:Packet for query is too large (1151 > 1024)
mysql错误
巧的是,这个问题前几天刚解决过,解决方案是将mysql数据库的 max_allowed_packet 从 1024Byte 修改为了4M(4194304Byte),这不到一个星期的时间,参数又被改了回来,非常奇怪!
查看mysql配置文件,发现上次的配置仍存在,说明这个配置依然生效,之所以max_allowed_packet被改回了1024,是通过命令行操作的(set global max_allowed_packet = 1024)
# cat /etc/my.cnf
[mysqld]
max_allowed_packet = 4M
问了同事,没人改动过该参数,google一番,得到的回答是:服务器被黑了!
Redis复制
发布者: PHPYuan | 发布时间:2018-07-03Redis主从架构
在Redis中,用户可以通过执行SLAVEOF命令或者设置slaveof选项,让一个服务器去复制(replicate)另一个服务器,我们称呼被复制的服务器为主服务器(master),而对主服务器进行复制的服务器则被称为从服务器(slave)。
127.0.0.1:12345> SLAVEOF 127.0.0.1 6379
一、旧版(2.8版以前)复制功能的实现
Redis的复制功能分为同步(sync)和命令传播(command propagate)两个操作:
sync:
当客户端向从服务器发送SLAVEOF命令,要求从服务器复制主服务器时,从服务器首先需要执行同步操作,将从服务器的数据库状态更新至主服务器当前所处的数据库状态。同步操作需要通过向主服务器发送SYNC命令来完成,以下是SYNC命令的执行步骤:
1)从服务器向主服务器发送SYNC命令。
<Redis优化—redis数据迁移
发布者: PHPYuan | 发布时间:2018-07-04在实际工作中,由于某些原因,我们可能需要移动或复制存储在一个redis实例中的数据。这时,就需要进行数据迁移。
Redis作为现在最火的缓存存储系统,本身自带了很多功能可以满足数据迁移的需求。我们来看看如何使用redis自带的功能来实现单个实例与单个实例,单个实例与集群之间的数据迁移。
1、单个实例之间的数据迁移
1.1主从同步方式
a、启动两个redis实例
./redis-serverconf/redis1.conf
./redis-serverconf/redis2.conf
b、通过把目的实例设置为源实例的一个从实例,我们可以复制源Redis实例中的所有数据
Slaveof192.168.1.7 6379
c、同步完成后,我们通过slave noone命令将目的实例设置为主实例
Slaveofno one
1.2加载持久化文件同步
a、 除了主从关系外还可以使用AOF持久化文件来进行数据迁移。源实例和目的实例都需要启用AOF持久化,并将aof-use-rdb-preamble参数设为yes。这样做可以同时利用RDB和AOF的优点:
两个实例节点都执行如下命令:
深信服面经(C++)
发布者: PHPYuan | 发布时间:2018-07-03一面问基础(14分钟),二面问项目(30分钟)
1. C++中拷贝构造函数形参用值来进行传递有什么影响?
2.new和malloc的区别?
3. 一步可以上一个台阶或两个台阶的走楼梯问题
4. epoll的水平触发和边缘触发
5. 一个公交站在1分钟内有车经过概率是p,问3分钟内有车经过概率
6. 讲一下快排的原理
7. Redis 有什么缺点
没问什么基础性问题,深信服应该是有一个题库的,在大家的爆料下已经不剩下什么了...
二面主要是问对项目的理解以及进一步的优化等等
,
原文:https://www.jianshu.com/p/3f97ad0de976
Spring Cloud Gateway 原生的接口限流该怎么玩
发布者: PHPYuan | 发布时间:2018-07-04关于pig:基于Spring Cloud、oAuth2.0开发基于Vue前后分离的开发平台,支持账号、短信、SSO等多种登录,提供配套视频开发教程。
码云地址:https://gitee.com/log4j/pig
关于 Spring Cloud Gateway
SpringCloudGateway是Spring官方基于Spring 5.0,Spring Boot 2.0和Project Reactor等技术开发的网关,Spring云网关旨在提供一种简单而有效的路由API的方法。Spring Cloud Gateway作为Spring Cloud生态系中的网关,目标是替代Netflix ZUUL,其不仅提供统一的路由方式,并且基于Filter链的方式提供了网关基本的功能,例如:安全,监控/埋点,和限流等。
zuul如何实现多维度限流请参考我的博客
Zuul:构建高可用网关之多维度限流
开始Gateway 限流
POM 依赖
<!--spring cloud gateway依赖--><dependency> <groupId>org.springframework.cloud</groupId> <artifactId&g