自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(31)
  • 收藏
  • 关注

原创 老鸟一周玩转go语法--周四

1.使用sync包的Mutex类型来实现互斥锁,多个goroutine同时等待一个锁时,唤醒的策略是随机的。2.当我们并发的去读取一个资源不涉及资源修改的时候是没有必要加锁的,这种场景下使用读写锁是更好的一种选择。读写锁在Go语言中使用sync包中的RWMutex类型。读写锁分为两种:读锁和写锁。当一个goroutine获取读锁之后,其他的goroutine如果是获取读锁会继续获得锁,如果是获取写锁就会等待;当一个goroutine获取写锁之后,其他的goroutine无论是获取读锁还是写锁都会等待。

2022-04-08 15:03:27 335

原创 老鸟一周玩转go语法--周三

写在前面:本篇记录实战过程中遇到的各类基础文档语法中没提到过的知识点。1.main函数所在的goroutine就像是影分身的本体,其他的goroutine都是影分身,本体一死影分身也就全部GG了。所以main函数要留出足够的时间让其他协程运行完毕再结束。2.,一个goroutine的栈在其生命周期开始时只有很小的栈(典型情况下2KB),goroutine的栈不是固定的,他可以按需增大和缩小,goroutine的栈大小限制可以达到1GB,虽然极少会用到这个大。所以在Go语言中一次创建十万左右的goro

2022-03-31 09:13:41 177

原创 老鸟一周玩转go语法--周二

1.常量是一个简单值【只可以是布尔型、数字型(整数型、浮点型和复数)和字符串型】的标识符,在程序运行时,不会被修改的量,因此定义时就得赋予初始值,所以可以省略类型,由编译器进行推断。多个类型的声明可以简写为:const c_name1, c_name2 = value1, value2。常量表达式的值在编译期计算,而不是在运行期。2.常量还可以用作枚举:const ( Unknown = 0 Female = 1 Male = 2 ).可以用len(), cap(), unsafe.Sizeof()函数

2022-03-29 16:51:13 189

原创 老鸟一周玩转go语法--周一

前言:本系列课程,面向有其他高级编程语言的coder。当有兴趣或者有需要使用go的需求时,快速了解上手go的指南。如何安装go sdk和go ide,自行搞定。这里只做两点说明:go是编译型语言,和C不同,C语言没有包的概念。vs-code免费,goland收费,但可以破解。推荐使用goland。知识点:1.所有的go代码都要明确属于哪个包,每个包都是一个可运行的程序,每个go应用程序都必须包含一个main包。每个可执行的程序都必须包含main函数。init函数是初始化函数(可选),在main函

2022-03-28 18:39:06 456

原创 vue router 高级使用--笔记5

1:可以给每条路由项增加meta信息,用来注入一些自定义的额外信息。可以通过$route 对象或者导航守卫中的路由对象的matched属性来访问,该属性是个数组,可以进行遍历。如此便可对匹配到的路由进行相关处理了。注意,若子路由未匹配到,则父路由<router-view>处,无展示,可通过匹配空子路由渲染指定组件。2:支持对路由变化使用过渡特效,组件激活和失活时触发。通过使用<transition>组件。(一)给所有路由设置一样的过渡效果。(二) 给.

2022-03-23 09:30:25 231

原创 vue router 高级使用之导航守卫---笔记4

1:概念解析说明导航:表示路由正在发生改变。导航守卫:主要用来通过跳转或取消的方式守卫导航。并且有多种方式介入路由导航过程(路由发生变化时)中:全局的, 单个路由独享的, 或者组件级的。注意:参数或查询的改变并不会触发进入/离开的导航守卫。你可以通过观察$route对象来应对这些变化,或使用 beforeRouteUpdate 的组件内守卫。2:导航守卫的介入方式使用 router.beforeEach 注册一个全局前置守卫。通过路由实例调用beforeEach方法,这样注册的全部路由信

2022-03-22 11:17:39 864

原创 vue router使用--笔记三

1:安装2:引入使用步骤在挂载点内,使用<router-link>和<router-view>两个标签实现链接和展示。其中to的参数,来源于vuex中对路由的定义。每个路由对应一个组件。组件可以直接使用组件定义对象,也可以通过import引入组件的定义文件进而形成组件对象。注意若像下面使用template方式定义组件的化,需要配置使用vue的compiler,不然会包runtime错误。如此,我们可以在任何组件内通过this.$router访问路由器...

2022-03-21 19:14:30 1313

原创 vuex的初次使用--笔记2

1:安装答:如果你通过vue_cli脚手架工具创建项目的化,一般都会选择安装了vuex。如果没有安装的过的话,可以使用在自己的项目的根目录中使用如下的命令进行安装 ,另外可以通过@指定版本号2:使用答:通过如下代码,即可将vuex和vue结合起来。这样以后使用new vue生成的vue实例中就可以接纳vuex的实例了,要问问什么,问就是,Vuex 通过store选项,提供了一种机制将状态从根组件“注入”到每一个子组件中,避免在需要使用 state 的组件中需要频繁地导入。另外vuex是v..

2022-03-21 09:11:54 206

原创 js模块化系统--笔记1

问:export与export default的区别?答:对外暴露的元素,也就是允许其他文件通过import方式导入的元素。注意:export与export default均可用于导出常量、函数、文件、模块等。在一个文件或模块中,export 、import可以有多个,export default仅有一个。export能直接导出变量表达式,export default不行。问: 以上两种方式的区别?答:通过export方式导出,在导入时要加{ },export defau...

2022-03-11 18:00:20 1155

原创 Java语言初探表面特性

1:java语言是面向对象的,静态语言【需要先编译后执行】,对象中封装了他的状态变量和相应的方法。执行的方式也是最初是直接解释执行后来增加了编译执行【JIT,解释器位于JVM中】的,具备高效性能。同时java是多线程、动态执行【是指java的执行代码是在运行时动态载入的(参考程序升级案例)。但java是静态语言 但JVM虚拟机支持动态编译java源文件并加载类(就是支持动态加载代码模块并检查,且在运行时可以动态修改代码)】的,对类型具有严格检查【由字节码校验器完成】的语言。他会在语言定义,字节码检查,程序执

2020-09-11 09:32:41 113

原创 tp5中log的file驱动中的配置参数影响

1:关于日志的file驱动参数的配置影响首先说一下think\log\driver下的File.php文件中的配置参数有哪些。time_format、single、file_size、path、apart_level、max_files、json 这几个参数。先说其中几个简单直接的参数Time_format参数主要是作为日志记录时间参数写入到日志文件中,与文件夹生成无关...

2020-03-07 11:40:51 619

原创 最全的php调用方法、函数的总结

1:普通成员方法(属性)与静态成员方法(属性)调用的区别1.1:普通成员方法,属性的调用需要对象使用->来操作例如:类外(公共):$obj = new Class();echo $obj->property; $obj->method();类内:echo $this->property;$this->method();...

2020-03-02 16:32:52 1321

转载 什么是幂等性

HTTP/1.1中对幂等性的定义是:一次和多次请求某一个资源对于资源本身应该具有同样的结果(网络超时等问题除外)。也就是说,其任意多次执行对资源本身所产生的影响均与一次执行的影响相同。Methods can also have the property of “idempotence” in that (aside from error or expiration issues) the s...

2019-09-09 14:02:17 174

转载 RPC是什么?RPC与REST、Socket的区别?php中流行的rpc框架有哪些?

RPC是什么?RPC与REST、Socket的区别?php中流行的RPC框架有哪些?什么是RPC框架先回答第一个问题:什么是RPC框架? 如果用一句话概括RPC就是:远程调用框架(Remote Procedure Call)那什么是远程调用?通常我们调用一个php中的方法,比如这样一个函数方法: localAdd(10, 20),localAdd方法的具体实现要么是用户自己定...

2019-09-09 10:54:35 299 1

原创 五大主流浏览器及四大内核

现在国内常见的浏览器有:IE、Firefox、Safari、Opera、Google Chome、QQ浏览器、搜狗浏览器、百度浏览器、猎豹浏览器、UC浏览器、360浏览器、遨游浏览器、世界之窗浏览器等等。但目前最为主流浏览器有五大款,分别是IE、Firefox、Google Chrome、Safari、Opera。浏览器最重要的部分是浏览器的内核。浏览器内核是浏览器的核心,也称“渲染引擎”,用...

2019-08-02 10:47:51 2121

原创 webpack是什么

问:webpack是什么?怎么好多项目都在用?答:webpack的出现是随着前端项目结构演变过程出现的,现在的前端项目基本上都是模块化、包含css预处理、javascript延拓语言等。这些特性能提高开发效率,但也需要额外的进行处理,因为这种处理工具的需求自然而然的出来了。Webpack就是这么个工具,他主要完成模块打包,通过分析项目结构,对js模块和拓展语言进行转换和打包。他的工作方式是:把...

2019-08-01 15:01:23 155

原创 从npm install命令说起package.json的作用

问:为什么现在js安装某个模块都使用npm install这个命令去安装了?答:因为大家都变懒了啊,哈哈。是不是觉得做了几年的前端之后发现,现在如果不更新自己的知识体系,有点不知所措了,甚至自己使用的技术有点被后辈们嘲笑的意思。其实大可不必担心,目前新的技术栈都是建立在之前的基础之上了,所谓的新的技术,多数为旧核心新封装,本质是不变,只是某些懒人为了更懒的工作,开发出更能节省时间,更能高效工作...

2019-07-31 14:32:05 3087 2

原创 怎样定义一个正确函数,怎么正确调用一个函数

问:怎么样正确定义一个函数呢?答:是的,定义一个函数很简单,但是正确定一个函数这就有道道了。首先说一下我们最常见的两种形式:(注意是没有访问限制这么一说的)Function name(){//code}Function name($arg1, $arg2){//code}这两种都是我们常见的,区别就在于有没有参数。是的,参数是函数的主要区别。我们知道php是一种弱类...

2019-07-23 17:44:28 2255

原创 如何编写一个正确的php类,并正确的使用它

问:如何编写一个正确的php类?答:这个问题,我们首先要明白php的类是什么?很多人都会说,这不就是对象的抽象出来的东西么,用关键字class来定义的。是的,没错,这样说一定问题都没有。但是这里我们要把类的范围扩展一下。这里的类我们包含普通的类(class)以及抽象类(abstract class)和接口(interface)以及特性(trait)。我们把他们都归类到“类中”,关于trait的...

2019-07-22 15:27:34 639

原创 psr标准解读

问:PSR是什么?有什么作用?答:psr 中文翻译过来是 提出标准建议。所以它是一套建议标准,那它是建议谁的呢?它是由PHP-FIG 翻译过来就是php 框架可互用性小组编写的,那当然是用来约束PHP的。其实呀并不是官方的组织,只是在php界影响力很大,而且确实这套标准很有用,所以大家都遵循这套标准了,就好比江湖中总有一些规矩,这样大家按规矩来,事情就好办了很多。具体来说psr这是一...

2019-07-19 23:50:24 2663

原创 php中的trait是什么东西?怎么用?

问:php中的trait是什么东西?怎么用?答:说到trait是php5.4才有的东西,一般在一些框架中会提到该知识点,那他到底是什么东西呢,有什么用呢。Trait是一个关键字,和class一样,它的出现主要是解决php不能多继承的问题。Trait的特点就是据为己有。使用trait就是故意定义一个类型让其他类去使用(非继承,要在类中使用use来将trait的所有据为己有),但要注意trai...

2019-07-16 15:29:31 1698

原创 php的反射机制是什么 如何组织反射机制中的各种对象关系

问:PHP里反射机制是什么?答:php的反射机制其实是比较高等一点的知识点了,是php5之后才加入这个功能,你既然了解到了这一点,就说明你对php的运用有相当一段时间了。反射机制其实就是“透视”+“规划”。为什么这么说呢,白话形容这个功能就是,不需要看源代码,只需要把类名或者对象传给反射类,然后就能获取到类的相关信息,例如常量、方法,甚至注释,这就是透视你的一切。然后呢就能策反你,让你为我所有...

2019-07-15 16:14:29 129

原创 对象复制 写时复制

问:为什么关于对象复制有那么多的迷惑点呢?怎么对对象赋值有个清晰的认识呢?答:关于对象复制的确是个难点,主要是他和普通的变量对待复制的表现不同,而且又牵扯到深复制和浅复制的相关东西,由此带来的区别,然而他们又都完成了一个目标就是复制。所以让人有点迷惑,其实掌握几个关键知识点,你就明白复制的原理了问:那能说一下有关复制的相关原理么?答:恩,这话说起来就长了,而且对不同语言来说,甚至...

2019-07-13 15:25:18 401

原创 php的魔术方法 形象深入的理解它

问:对php来说,什么是魔术方法?为什么是方法而不是函数答:魔术方法就是具有法术的方法,之所以叫方法而不叫函数,是因为大部分这些个功能体都是在对象上发挥作用,唯有两个特别的,至于这个方法是什么等会详细说一下。那魔术方法有什么法术呢?那就是他能在特定时刻发挥作用,好比一个定时炸弹,到那个时间上立马就炸(运行),没有商量的余地。问:php有哪些魔术方法?都有什么在什么时候发挥作用?...

2019-07-11 20:48:28 137

原创 如何安装php的redis扩展,以及几个简单实用的php操作

问:redis和php都安装好了,怎么redis还没法用啊?答:因为你缺乏redis和php之间的沟通桥梁啊。这个桥梁就是redis扩展,需要用php加载这个扩展的,加载上去就好能用了。问:那怎么添加上扩展呢?答:添加扩展其实在php里面是很常见的操作,就是把动态库下载下来,放到对应的位置,然后在php.ini这个配置文件中开启就行了。问:windows和linux中安...

2019-07-09 14:59:40 421

原创 redis是什么东西,干什么用的?怎么安装redis

问:redis是什么东西?他可以存储哪些东西?答:redis是一个Nosql型数据库,是以key-Value型存储,基于内存(所有数据都放到内存中)但可以以日志和快照的形式持久化存储在硬盘中,当机器故障时,数据不会丢失,并且支持主从模式的数据备份。而且提供了多种语言的api,所以支持他们的访问。Redis是使用ansi C(国际C语言标准)写的。问:redis都可以存储那些数据...

2019-07-08 16:48:39 2116

原创 php的命名空间

问:命名空间是什么?它有什么用?答:命名空间是一种带有限制性描述的关键词,能说明代码是“混”哪片的。他是在5.3版本中才加入的,这个版本号可以说是个分界点,也就是因为命名空间的存在,很多的开源的代码在安装的时候都会限制php代码大于等于5.3,由此可见命名空间的重要性。它类比到生活中就是“地址”,也可以说是你学籍卡上的地址信息,比如XX学校XX年级XX级部XX班。至于它的作用呢,更多的是...

2019-07-06 22:14:27 178

原创 laravel源码分析-public-index.php,看看入口文件到底干了啥

Public/index.php文件是laravel框架的入口文件,总共就6句代码1: require __DIR__.’/../bootstrap/autoload.php’;2: $app = require_once __DIR__.’’/../bootstrap/app.php;3: $kernel = $app->make(Illuminate\Contrac...

2019-07-05 18:30:56 2059

原创 homestead是什么玩意? 怎么弄?

问:homestead是什么玩意?答:Homestead 是一个官方预封装的 Vagrant box,它为你提供了一个完美的开发环境,而无需在本地机器安装 PHP 、Web 服务器和其他服务器软件。不用担心会搞乱你的操作系统!Vagrant boxes 是一次性的。如果出现问题,你可以在几分钟内销毁并创建 Box!Homestead 可以运行在任何 Windows,Mac,或 Linux ...

2019-07-04 21:13:46 11681 1

原创 Composer怎么用?

问:composer怎么用?答:主要就有一下几种用法,安装,更新,删除,搜索,显示。安装的方式主要有命令安装和按照文件说明安装更新、移除都使用命令来操作,要注意命令的作用范围。问:composer怎么安装扩展包答:1:使用composer.json文件指明依赖,其文件内容格式为{“item1”:{“key1”:”value1”,”key2”:”value2”},...

2019-07-03 20:05:43 654

原创 Composer综合概述

问:Composer是什么?可以做什么?答:1:Composer 是 PHP 的一个依赖管理工具2:我们可以在项目中声明所依赖的外部工具库,Composer 会帮你安装这些依赖的库文件,有了它,我们就可以很轻松的使用一个命令将其他人的优秀代码引用到我们的项目中来。问:为什么composer可以管理php的扩展库或者包?答:因为它很好用,大家约定有什么好东西就共享,...

2019-07-03 18:29:29 208

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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