一名后端工程师,硕士在读,在忙碌的长沙生活,平时喜欢写写博客。 想进大厂,有内推请联系我~
awk 是一个文本处理工具,通常用于处理数据并生成结果报告,awk的命名是它的创始人 Alfred Aho、 Peter Weinberger 和 Brian Kernighan 姓氏的首个字母组成的。
awk 是一个文本处理工具,通常用于处理数据并生成结果报告,awk的命名是它的创始人 Alfred Aho、 Peter Weinberger 和 Brian Kernighan 姓氏的首个字母组成的。
sed(Stream Editor)是一种流编辑器,sed 是对标准输出或文件逐行进行处理。sed 会在编辑器处理数据以前基于预先提供的一组规则来编辑数据流。能够根据命令来处理数据流中的数据,这些命令要么从命令行中输入,要么存储在一个命令文本文件中。
sed(Stream Editor)是一种流编辑器,sed 是对标准输出或文件逐行进行处理。sed 会在编辑器处理数据以前基于预先提供的一组规则来编辑数据流。能够根据命令来处理数据流中的数据,这些命令要么从命令行中输入,要么存储在一个命令文本文件中。
每次遇到各种时间傻傻分不清,特意记录一下,给自己提个醒。
I/O输入/输出(Input/Output)的简称,I 即为输入,常见的输入设备有键盘和鼠标。O为输出,常见的打印机等。
权限的意义在于允许某一个用户或某个用户组以规定的方式去访问某个文件。例如,Apache 服务进程默认由 Apache 用户访问,除了 root 用户以外,其他用户均不能访问相关进程,这样就能通过在文件上设置用户或用户组的访问方式达到限制目的。
文件传输
逻辑卷管理器(Logical volume Manager)是 Linux 系统用于对硬盘分区进行管理的一种机制,理论性较强,其创建初衷是为了解决硬盘设备在创建分区后不易修改分区大小的缺陷。尽管对传统的硬盘分区进行强制扩容或缩容从理论上来讲是可行的,但是却可能造成数据的丢失。而 LVM 技术是在硬盘分区和文件系统之间添加了一个逻辑层,它提供了一个抽象的卷组,可以把多块硬盘进行卷组合并。这样一来,用户不必关心物理硬盘设备的低层架构和布局,就可以实现对硬盘分区的动态调整。
逻辑卷管理器(Logical volume Manager)是 Linux 系统用于对硬盘分区进行管理的一种机制,理论性较强,其创建初衷是为了解决硬盘设备在创建分区后不易修改分区大小的缺陷。尽管对传统的硬盘分区进行强制扩容或缩容从理论上来讲是可行的,但是却可能造成数据的丢失。而 LVM 技术是在硬盘分区和文件系统之间添加了一个逻辑层,它提供了一个抽象的卷组,可以把多块硬盘进行卷组合并。这样一来,用户不必关心物理硬盘设备的低层架构和布局,就可以实现对硬盘分区的动态调整。
在早期的 Linux 系统中,网卡被命名为 eth0、eth1 、eth2 等,但往往不一定准确对应网卡接口的物理顺序。
一个运行起来的程序被为 进程,进程的英语是 process
OpenSSH 是 SSH (Secure SHell) 协议的免费开源实现。SSH 协议族可以用来进行远程控制, 或在计算机之间传送文件。而实现此功能的传统方式,如 telnet(终端仿真协议)、 rcp ftp、 rlogin、rsh 都是极为不安全的,并且会使用明文传送密码。OpenSSH提供了服务端后台程序和客户端工具,用来加密远程控制和文件传输过程中的数据,并由此来代替原来的类似服务。
系统信息和性能查看
Window 对象表示浏览器中打开的窗口。这么一说大家肯定还是和我一样一脸懵逼,浏览器中打开的窗口是新的标签吗?就有下文的白话文。
当浏览器载入 HTML 文档, 它就会成为 Document 对象。 Document 对象是 HTML 文档的根节点。 Document 对象使我们可以从脚本中对 HTML 页面中的所有元素进行访问。
文本三剑客之 Grep
Shell 编程中的常用工具
Linux Shell 中的函数和大多数编程语言中的函数一样 将相似的任务或代码封装到函数中,供其他地方调用
Shell 编程(一):Shell 变量的高级用法
Shell 编程(一):Shell 变量的高级用法
简单工厂模式又称为静态工厂方法模型,它属于类创建型模式,简单工厂并不属于23种设计模式,刚开始学习设计模式的同学,对简单工厂模式、工厂方法、抽象工厂中的工厂一知半解,其实白话点来说:这些模式一定会有一个工厂类,子类并不需要知道工厂细节,只需新建工厂创建产品即好。
写 Restflu Api 接口遇到批量删除问题,百度后有两种解决方法,基本上不建议使用 DELETE
延迟静态绑定 self 用于类中静态 this 用于对象中静态 static 延迟绑定用于对象中实例化本类 parent 用于父级元素 高内聚,低耦合 耦合:多个组合、多个类。 内聚:重复代码。 组合优于继承,针对接口编程,变化的概念,父子关系
软件复杂性度量的参数很多,主要有: • 规模,即总共的指令数,或源程序行数。 • 难度,通常由程序中出现的操作数的数目所决定的量来表示。 • 结构,通常用于程序结构有关的度量来表示。 • 智能度,即算法的难易程度。
分布式锁,主要考察使用者对原子性的理解,原子性可以保证程序从异常中恢复后,redis中的数据是正确的,程序依然正常运行。分布式锁是实现线程同步手段之一。
sorted sets 是 Redis 类似于 SortedSet 和 HashMap 的结合体,一方面它是一个 set,保证了内部 value 的唯一性,另一方面它可以给每个 value 赋予一个 score,代表这个 value 的排序权重。内部使用 HashMap 和跳跃表(SkipList)来保证数据的存储和有序,HashMap 里放的是成员到 score 的映射,而跳跃表里存放的是所有的成员,排序依据是 HashMap 里存的 score,使用跳跃表的结构可以获得比较高的查找效率,并且在实现上比较简单。sorted sets 中最后一个value被移除后,数据结构自动删除,内存被回收
集合类似 Java 中的 HashSet,内部实现是一个 value 永远为 null 的 HashMap,实际就是通过计算hash的方式来快速排重的,这也是 set 能提供判断一个成员是否在集合内的原因。
在秒杀,抢购等并发场景下,可能会出现超卖的现象; 如:我们一共只有100个商品,在最后一刻,我们已经消耗了99个商品,仅剩最后一个。这个时候,系统发来多个并发请求,这批请求读取到的商品余量都是1个,然后都通过了这一个余量判断,最终导致超发。
哈希相当于一个二维数组,内部是无序字典。 哈希也是是一个 string 类型的 field(字段) 和 value(值) 的映射表,所以哈希特别适合用于存储对象。
顾名思义,延迟队列就是进入该队列的消息会被延迟消费的队列。 例如:滴滴打车订单完成后,如果用户一直不评价,48小时后会将自动评价为5星。
InfluxDB是一个由InfluxData开发的开源时序型数据。它由Go写成,着力于高性能地查询与存储时序型数据。InfluxDB被广泛应用于存储系统的监控数据,IoT行业的实时数据等场景。
存储过程的英文是 Stored Procedure,它的思想很简单,就是 SQL 语句的封装; 一旦存储过程被创建出来,使用它就像使用函数一样简单;
关于int类型数据在内存中的高低位存储问题
选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理如下。首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。以此类推,直到所有元素均排序完毕。
SESSION:服务器端的会话技术。为每一个访问者创建唯一的id(UID)(而且同一用户不同的浏览器也会生成不同的UID),并基于这个id(UID)来存储变量; UID存储在cookie中,亦或者通过URL进行传导;
一直再听说高并发,没有体验过真正的高并发,这次体验下1000w数据表(不知道算不算大数据),刚好体验下mysql索引的性能;
引用官方的一句话:匿名函数(Anonymous functions),也叫闭包函数(closures),允许临时创建一个没有指定名称的函数。最经常用作回调函数(callback)参数的值。当然,也有其它应用的情况。
笔记本装成win10系统,用外接鼠标,装上了软件,打好了补丁,结果重启之后,发现外接鼠标不能用,要拔下来再插上去电脑才能识别,才能正常使用;
后台管理系统利用excel批量导入用户数据时,其他成员的电脑上上传excel mime-type类application/octet-stream; 无法通过后台验证(后台是校验的mime); 但在我的电脑上可以,百度也没有相关解决方法;
阅读tp框架源码过程中,经常被代码绕来绕去,头晕的很(tp框架源码已很久没有更新);
部署博客后,评论的时间不正确,比正常时间慢了8小时; 都是用的 timestamp 字段存储的时间,只有评论留言取出来的时间慢的8小时,其他没有页面没有;
目前我司正处于一种混乱的开发环境中; 对于数据库字段增修都是开发人员直上服务器数据库修改(我多次强调); 我未入职前,是直接通过SFTP连接服务器,对项目进行开发和修改(话说造成代码覆盖都不知道是谁干的,多次建议开发使用Git); 入职后我写一个开发规范文档:软件开发手册(欢迎各位大佬提出意见) 虽然对开发规范有所改变,但还是因为不可抗力因素无法执行,也是造成我最近想跳槽的原因;
tp5源码解析--hook(钩子函数)类详解
在TP5的框架使用过程中,自动加载类是可能会接触到,上手不难,但若想随心所欲的用,还是需要了解一番。用了千次,却没看过一次源码,学习源码,起码对TP5这个框架使用更加得心应手,毕竟技术服务于业务,能够写出更简介、更方便、更有效的业务代码,本身就是一件身心愉悦的事儿;
在TP5的框架使用过程中,Db类是一定会接触到的,上手不难,但若想随心所欲的用,还是需要了解一番。用了千次,却没看过一次源码,学习源码,起码对TP5这个框架使用更加得心应手,毕竟技术服务于业务,能够写出更简介、更方便、更有效的业务代码,本身就是一件身心愉悦的事儿;
在PHP中,没有任何变量指向这个对象时,这个对象就成为垃圾;
五一闲置在家,撸代码之余,读读“拍黄片”官方手册,巩固下“拍黄片”基础(PHP);
最近忙于公司内部流程审批系统,团队在我未入职公司前,一直未使用版本控制,导致多数人不会使Git,开发人员对Git不熟练,项目版本控制受阻(开发人员普遍觉得sftp方便); 由我编写开发文档规范: 开发规范文档(包括:Php、Git、Mysql);
问题: 部署博客,服务器经常500 排查:查看laravel日志: file_put_contents () ,failed to open stream: No such file or directory;