自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

ydm东方旭日的专栏

不做思想的巨人,行动的矮子!

原创 面试系列 -- PHP后端面试常见问题总结

开篇:自我介绍面试官好,我叫XXX,XXX年X月XX毕业于XXX,专业为计算机科学与技术。毕业X年的时间里一直在从事PHP 、Go、Python、C#语言的后端开发工作,其中主流开发语言是PHP;对前端的相关知识也有所了解,如Js、Jquery、Bootstrap、Vue、React等;从事领域主要是XXXX。对于大流量、高并发类的服务以及中台类的开发都有一定的经验,曾XXX...

2019-09-04 20:52:47 5654 3

原创 【每周思考总结】2020.05.25 - 2020.05.29

通过一周的所思、所感、所问已电子档的形式记录下来1、工作、生活分离 工作使用hi进行联系,生活使用微信进行联系; 更不要将工作中的事情带到日常生活中去;2、走出舒适区 走得累了,说明你在走上坡路;比较关键的一点是要做事后复盘,总结经验、教训;争取做的更好3、付出加倍的努力 如果你想要获得10分的成绩,那你需要付出成倍的努力,甚至是多倍的努力4、多向他人学习 珍惜那个主动指出你错误的人,她可能就是你的贵人; 三人行...

2020-05-31 16:05:37 81

原创 【PHP 编程能力提升系列】 日常工作常见问题总结

1、5.3.0 + 以上的版本才支持命名空间;5.3.0 + 版本去除了safe_mode的选项,默认是关闭状态2、类是其基类(包括抽象类)和接口的实例,也就是instanceof 为true;3、stdClass是所有类的基类4、echo print 都可以用来输出字符串;printf可以按照一定格式输出数据;sprintf可以按照一定格式返回字符串(%s %d);print_r可以...

2020-05-17 15:10:16 100

原创 【职场 菜鸟→老鸟】你应该知道的一些规则

国有国法,家有家规,职场有职规,今天就来和大家一块聊聊职场上常见的规则1. 谨慎使用性别红利年轻的女生在初入职场时,拥有比同龄男生大的多的初始人际优势,会更有机会得到高位阶男士的接纳。这些年长者往往会非常主动的提供价值,这些价值包含的内容范围非常广,从饭局上最基本的信息分享、业务指点,一直到下手最狠的人脉支援等,不一而足。谨慎地划定安全边界,让这种异性间的天然好感处在可控的界线内,是所...

2020-04-28 13:12:59 203

原创 error: Your local changes to the following files would be overwritten by merge 解决方案

一、背景本地修改代码之前未pull,等我们在本地修改完代码在git pull,这时会报错如下错误:error: Your local changes to the following files would be overwritten by merge二、解决方案根据是否要保存本地修改,有以下两种解决方案2.1 保留修改执行以下三条命令git stash #封存修...

2020-02-25 21:28:49 179

原创 GO json字符串转义处理

golang json序列化得到的数据有\的问题我们在对外提供API接口,返回响应的时候,很多时候需要使用如下的数据结构type Response struct { Code int `json:"code"` Msg string `json:"msg"` Data interface{} `json:"data"`}该API接...

2020-02-12 16:32:13 933

转载 世界上几乎没有技术驱动型公司

一、世界上没有技术驱动型公司世界上没有技术驱动型公司,不论google、facebook,还是腾讯、阿里,都不是技术驱动型公司。因为技术不是源头,需求才是。因此一切技术问题,都要服从产品交付和市场反馈。所以,任何公司,都不可能以技术去驱动自身。人可以以技术驱动自己进步,但公司不行。一家公司可以以技术切入某个市场,但如果它想生存下去,就一定不能以技术为导向,坚持以技术为导向的公司的生命力...

2019-11-07 10:26:01 112 1

转载 恒大研究院|中国最具发展潜力的100个城市

在“房地产长期看人口,中期看土地,短期看金融”的经典框架基础上,我们从“基本面+市场面”两个层面分27个指标研究2019年中国336个地级行政单位发展潜力(不含三沙),具体以基本面研判城市中长期发展潜力,以市场面辅助择时。基本面:2019年中国城市发展潜力排名1.深北上广居榜首,区域中心城市及长三角珠三角表现突出,东北整体落后根据GDP、城镇居民人均可支配收入、以及城市政治地位等,将全国337个...

2019-10-31 22:40:31 227

转载 刻意练习

如果真的希望获得比别人更强的能力,要超级勤奋,Work Super Hard。方法论重不重要?非常重要,但当你的方法论精进到极致之后,你还是得回到最最根本的勤奋,甚至是可怕的勤奋!那做到可怕的勤奋就够了吗?依然是不够的。可能我们只是在原地打转,一直在努力做些事倍功半的事。所以,我们还得再加上两个字——“高效”,高效而可怕的勤奋。01前两天,教育部一则新增 35 所高校“人工...

2019-09-14 10:54:56 574

原创 Redis学习系列 -- 链表结构

今天以脑图的形式来学习一下链表的理论知识,具体如下:

2019-09-07 17:01:08 98

原创 Redis学习系列 -- SDS结构

今天的内容以脑图的形式展开,具体如下。

2019-09-07 16:22:24 96

原创 Linux学习系列 -- 词频统计

一、问题写一个 bash 脚本以统计一个文本文件words.txt中每个单词出现的频率。为了简单起见,你可以假设:words.txt只包括小写字母和' '。 每个单词只由小写字母组成。 单词间由一个或多个空格字符分隔。你也可以假设每行前后没有多余的空格字符。示例:假设words.txt有如下内容:the day is sunny the thethe su...

2019-09-07 14:31:30 169

原创 Xmind 无法保存文件

背景昨天下午电脑有问题,拿到IT重新更换了一台;期间进行了磁盘数据的迁移,在迁移之后使用Xmind工具时出现了下面的问题,具体见一下截图:未做过Java相关的开发工作,看不懂上面的错误提示,于是借助了强大的百度,最后还真在晚上找到了解决方案。解决方案一、windows删除文件夹C:\Users\Username\AppData\Roaming\XMind\worksp...

2019-08-09 13:31:30 1194

转载 GoLand 永久激活

目录激活前准备工作1.下载新版破解补丁2.进入项目界面3.修改配置文件4.输入激活码5.查看有效期转载自:http://www.imooc.com/article/details/id/288329随着2019版的到来,之前的永久激活教程也不生效了,所以今天为大家带来一种新的GoLand永久激活方式,本教程适用Windows、Mac、Ubuntu等所有平台。激活...

2019-07-31 09:37:45 16973 16

原创 算法学习系列 -- 二分查找

二分查找可以说是最常见的查找了,再加上最近在系统梳理算法相关的内容,本着实践大于理论的原则,争取对于常见的算法都手动撸一遍。OK,废话少说,直接上PHP版本的二分查找算法。如果元素不存在,下面的算法会返回元素会被插入的位置。<?php //对于二分查找算法而言,要求数据是有序的O(logn)//而对于二叉查找树而言(logn),要求数据是无序的,否则就会退化为顺序查找O(...

2019-07-28 18:52:21 4577 1

转载 数据结构学习系列 -- 漫画B B+树

最近在梳理数据结构的相关知识,在梳理到B树时发现网上有一篇图文并茂介绍B树相关知识的文章,特转载自此。原文链接。一个m阶的B树具有如下几个特征:根结点至少有两个子女。 每个中间节点都包含k-1个元素和k个孩子,其中 m/2 <= k <= m 每一个叶子节点都包含k-1个元素,其中 m/2 <= k <= m 所有的叶子结点都位于同...

2019-07-28 13:28:17 3597

原创 算法系列 -- 位运算

目录一、前言二、概念了解三、技巧与实战3.1常见技巧3.2 实战3.2.1 以O(1)的时间复杂度判断一个数是不是2的幂次3.2.2 计算一个 32 位整数的二进制表示中有多少个 13.2.3 将整数A转换为B,需要改变多少个bit位3.2.4数组中,只有一个数出现一次,剩下都出现两次,找出出现一次的元素3.2.5 数组中,只有两个数出现一次,剩下都出现两...

2019-07-15 13:30:07 5020 3

原创 算法系列 -- 递归/递推优化

这里以常见的斐波那契数列和阶乘求解为例来学习一下递归/递推算法的使用。<?php//***********问题1 斐波那契数列求解*************$n = 7;//方法1 :递归算法//此算法的时间复杂度为O(n*n),空间复杂度为O(1)function getSum($n) { if ($n <=2) { return 1; } return g...

2019-07-13 12:47:14 4487

转载 Go语言学习系列 -- 大道至简—GO语言最佳实践​​​​​​​

看到一篇对Go介绍比较全面的文章,特转载自此,原文链接:大道至简—GO语言最佳实践2007年,受够了C++煎熬的Google首席软件工程师Rob Pike纠集Robert Griesemer和Ken Thompson两位牛人,决定创造一种新语言来取代C++, 这就是Golang。出现在21世纪的GO语言,虽然不能如愿对C++取而代之,但是其近C的执行性能和近解析型语言的开发效率以及近乎于完美的...

2019-06-14 16:33:35 5089 2

原创 Vue学习系列 -- 常见的UI框架

在此总结一下常见的与Vue相关的UI框架,具体分为移动端和PC端两大类。这里只是做了一个罗列,并未展开介绍,详细内容请访问对应链接查看官方文档。移动端Vux:https://vux.li/#/ Mint-UI:http://mint-ui.github.io/#!/zh-cn Vonic:https://wangdahoo.github.io/vonic-documents/...

2019-06-14 11:01:51 3490 4

原创 消息队列学习 -- RocketMQ概念了解

今天来学习一款国产的消息中间件:RocketMQ。RocketMQ最初是由阿里团队研发,具有高性能、低延迟和高可靠等特性。一、概述 先来对RocketMQ有一个宏观的了解灵活的可扩展性。天然支持集群,四大核心组件(NameServer、Broker、Producer、Consumer)都支持水平扩展,同时保证高可用。 具有海量数据堆积能力。可以在堆积了很多消息之后仍然保证低延迟...

2019-06-05 18:25:30 854

原创 消息队列学习 -- Kafka概念了解

前面我们依次学习了RabbitMQ、ActiveMQ中间件,今天我们接着来学习一下Kafka。一、概述Kafka是一种分布式的基于发布/订阅的消息系统,具有以下特点同时为发布/订阅提供高吐量。kafka的设计目标是以O(1)的时间复杂度提供消息的持久化 消息持久化。支持将消息持久化到磁盘。 分布式。支持服务器间的消息分区以及分布式消费,同时保证每个分区内的消息顺序传输。其内部的Pr...

2019-06-04 10:15:25 151

原创 消息队列学习 --ActiveMQ概念了解

上一章节我们学习了RabbitMQ中间件的相关知识,今天我们就来接着学习另一个中间件ActiveMQ。一、简介AcitiveMQ是由Apache出品的开源消息中间件,可提供高效、可扩展、稳定、安全的企业级消息通信。其具有以下特性:支持Java、PHP、C、C++、Python等多种语言的客户端 提供了消息组通信、消息优先级、延迟接收消息、消息持久化等高级特性 支持分布式事务消息、事...

2019-06-02 21:14:13 973

原创 消息队列学习 -- RabbitMQ概念了解

从这篇文章开始,我们将依次介绍RabbitMQ、ActiveMQ、Kafka、RocketMQ四大主流中间件,并基于PHP语言给出demo(RocketMQ不支持PHP语言)。先从RabbitMQ开始。一、简介 RabbitMQ是Erlang语言开发的基于AMQP标准的开源实现,具有以下特点:保证可靠性。使用一些机制保证可靠性,如持久化、传输确认、发布确认等 具有灵活的路由功能。在...

2019-06-02 18:39:47 517

转载 Vue学习系列 -- vue-router 快速入门

网上看到一篇介绍vue-router的文章,还不错,特转载自此,原文链接。vue-router是Vue.js官方的路由插件,它和vue.js是深度集成的,适合用于构建单页面应用。vue的单页面应用是基于路由和组件的,路由用于设定访问路径,并将路径和组件映射起来。传统的页面应用,是用一些超链接来实现页面切换和跳转的。在vue-router单页面应用中,则是路径之间的切换,也就是组件的切换。本...

2019-06-01 16:02:07 103

原创 消息队列学习 -- 基础了解

消息队列这个概念已经出了好几年,但在日常业务中鲜有用到。听说消息队列的应用场景有异步处理、分布式事务、日志收集、系统接口等,考虑到这些场景自己后期都会遇到,如果利用消息队列可以更好的解决问题,那学习一下也未尝不可哈。计划先做一个技术储备,分一个小的学习系列,由浅入深系统的学习一下消息队列的东西。还是坚持理论 + 实践的方式,坚决杜绝空谈理论。废话少说,开始我们今天的入门学习吧。在学习消息队...

2019-05-30 23:08:25 4430

转载 Vue学习系列 -- package-lock.json的作用

转载自:https://www.cnblogs.com/cangqinglang/p/8336754.html其实用一句话来概括很简单,就是锁定安装时的包的版本号,并且需要上传到git,以保证其他人在npm install时大家的依赖能保证一致。引用知乎@周载南的回答根据官方文档,这个package-lock.json 是在 `npm install`时候生成一份文件,用以记录当前状...

2019-05-30 14:34:27 1256

原创 单页面应用学习

最近一直在进行Vue的学习,发现最终生成的页面只有一个html,之后就是css、js、img了。与以往的应用很不同,仔细研究之后才发现这就是所谓的单页应用,于是有了这篇文章。今天我们就来一起了解一下SPA的相关概念、与传统Web应用的区别以及SPA的优缺点。一、什么是SPA单页 Web 应用 (single-page application 简称为 SPA) 是一种特殊的 Web 应用:...

2019-05-29 23:27:49 296

原创 Vue学习系列 -- 自定义指令

前面的章节我们先后学习了v-on、v-bind、v-model、v-link等内置指令,今天我们就来学习一下如何创建自定义指令。自定义指令也是先注册后使用,其注册和组件的注册很类似,也分为全局注册和局部注册。只是注册组件时是使用的component关键字,而注册指令时要使用directive关键字。全局注册Vue.directive('focus', { //指令内容...

2019-05-29 22:55:52 1135

原创 Vue学习系列 -- slot槽指派

我们在前面组件的学习章节中,只介绍到了父子组件之间的数据传递,其中对应子组件,只是简单的定义了一个标签。既然子组件可以作为一个标签,那标签里面如果填充了html元素会怎么样呢?比如下面的形式: <component-demo> <h1>{{title}}</h1> <div>{{co...

2019-05-29 19:29:55 1222

原创 Vue学习系列 -- 环境搭建踩坑总结

今天在线下搭建开发环境时遇到了不少问题,废话少说,直接上截图并给出具体的解决方案。按照build.sh的指示,只需依次执行以下命令即可:#根据package.json文件里配置的依赖项,下载相应文件npm install#重新编译node-sassnpm rebuild node-sass#执行devnpm run dev注:开发环境下前期已经安装了node。一、未...

2019-05-29 18:42:10 441

原创 Vue学习系列 -- 组件通信

通过上一章节的学习,我们已经知道父子组件之间可通过props进行通信,但在2.x之后的版本,props就变为单向的了:只能由父组件向子组件传值;但在实际的工作中,存在子组件向父组件传值的业务场景;所以,今天我们就来详细学习一下父子组件之间如何进行双向传值。一、父组件向子组件传值上面我们已经提到了子组件可以通过props接受父组件的传值,废话少说,实践一把。子组件通过props里的mes...

2019-05-28 22:10:02 449

原创 Vue学习系列 -- 组件注册

组件的使用就是为了提高代码的可复用。组件与Vue实例类似,都要在注册之后才可以使用。注册又分为全局注册和局部注册两种方式,今天我们就先来简单学习一下。全局注册注册之后的组件全局任何地方都可以使用,具体使用如下:<!DOCTYPE html><html><head> <meta charset="utf-8"> <tit...

2019-05-27 23:57:52 634

原创 Vue学习系列 -- v-model指令与表单元素学习

这一节我们主要要学习的就是v-model指令,v-model用于表单类元素上双向绑定数据。常见的表单元素就是input textarea 单选按钮 双选按钮 下拉列表等。这里,我做了一个简单的注册表单信息提交demo,并将用户提交的信息实时打印出来,废话少说,直接上代码。下面的demo并未使用UI组件库,所以界面看起来可能有点丑陋,不过已经能说明问题了。<!DOCTYPE ht...

2019-05-26 22:39:25 1352

原创 Vue学习系列 -- 计算属性

不知道在上一节指令章节的学习中,大家有没有注意到一个细节:Vue.js模板内的表达式只能进行简单的计算,当其过长或者逻辑复杂时会变得难以维护,遇到这个问题如何处理呢?答案是计算属性。在计算属性里可以完成各种复杂的逻辑,包括运算、函数调用等,最终只要返回一个结果即可。使用计算属性有以下两点好处:计算属性相当于对数据操作的封装,用户只需要知道如何使用就可以了,无需关注逻辑细节; 解耦...

2019-05-26 17:53:04 67

原创 Vue学习系列 -- 常见事件/指令学习

指令是Vue中最常用的一项功能,它带有v-前缀。指令的主要职责就是当表达式的值发生改变时,相应的将某些行为应用到DOM上。注意:数据驱动DOM是Vue的核心理念,我们无需主动操作DOM,只需要维护好数据,DOM的事vue会自动帮我们处理。常见的指令有v-on、v-bind、v-model、v-html、v-for,下面我们结合具体的代码来一块学习一下。v-on:用于绑定原生的动作,如c...

2019-05-26 16:04:35 63

原创 Vue学习系列 -- vue生命周期了解

每个Vue实例在创建时,都会经历一系列的初始化过程,同时也会调用相应的生命周期钩子。我们可以利用这些钩子,在适当的时候进行我们的业务逻辑处理。在JQueryz中,有一个很明显的前置钩子:ready()方法。$(document).ready(function() { // })同样,在Vue里也有各种生命周期钩子,常见的有以下三个:created:vue实例创建完成之后会...

2019-05-26 14:24:51 1505

原创 Vue学习系列 -- 基础知识了解

不想做全栈的工程师不是好的工程师。最近在自学Vue,同时准备在博客上将自己的学习心得、期间遇到的问题给同步记录下来,做成一个学习系列。这个系列会杜绝说教、偏理论,更多的是通过理论加简单的例子加深理解。OK,废话不多说,开始我们今天的学习。首先,在学习Vue之前,你需要对MVVM设计模式有所了解。如果你还不够了解MVVM,可以先阅读这篇文章:MVVM关于Vue,我们还有以下几点需要了...

2019-05-26 11:39:55 1538

转载 性能优化的一般性原则和方法​​​​​​​

看了一篇详细介绍性能优化的博文,感觉很不错,特转载自此。原文地址:性能优化的一般性原则和方法正文  作为一个程序员,性能优化是常有的事情,不管是桌面应用还是web应用,不管是前端还是后端,不管是单点应用还是分布式系统。本文从以下几个方面来思考这个问题:性能优化的一般性原则,性能优化的层次,性能优化的通用方法。本文不限于任何语言、框架,不过可能会用Python语言来举例。  不过囿于个人...

2019-05-19 09:23:37 1276

转载 彻底搞清楚ASCII,Unicode和UTF-8之间的关系

转载自:https://blog.csdn.net/Deft_MKJing/article/details/79460485前言平时喜欢写东西,看博客,一直对编码有些懵,今天下午也不知道看到了什么,突然想了解下,就找到了这个文章,看完真的豁然开朗,这个必须留下来做纪念。1.ASCII我们知道,计算机内部,所有信息最终都是一个二进制值。每一个二进制位(bit)有0和1两种状态,因...

2019-04-15 08:20:14 1130

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