2019-10-28 15:02
了解Linux怎样处理输入和输出是非常重要的。一旦我们了解其原理以后,我们就可以正确熟练地使用脚本把内容输出到正确的位置。同样我们也可以更好地理解输入重定向和输出重定向。
首先我们来了解一下linux中的文件描述符:
Linux系统将所有设备都当作文件来处理,而Linux用文件描述符来标识每个文件对象。其实我们可以想象我们电脑的显示器和键盘在Linux系统中都被看作是文件,而它们都有相应的文件描述符与之对应。
Linux系统预留可三个文件描述符:0、1和2,他们的意义如下所示:
0——标准输入(stdin)
...
2019-10-28 15:40
什么是 PWM
在解释 PWM 之前首先来了解一下电路中信号的概念,其中包括模拟信号和数字信号。模拟信号是一种连续的信号,与连续函数类似,在图形上表现为一条不间断的连续曲线。数字信号为只能取有限个数值的信号,比如计算机中的高电平(1)和低电平(0)。
PWM(Pulse Width Modulation)即脉冲宽度调制,简称脉宽调制,通过对一系列的脉冲的宽度进行调制,从而等效出所需要的模拟信号。如图 1 所示,蓝色波形为调制的一系列脉冲,红色波形为模拟的正弦样信号。在模拟电路中,模拟信号的值可以连续进行变化,而数字电路是在高电平和低电平中取值,所以电压或电流会以脉冲的形式出现。通过使用 PWM 技术,我们可以在数字电路中模拟出电信号的连续变化。
...
2019-10-28 15:00
引子这是我第二遍读此书,我认为并且希望这次阅读对我整个人生产生深远的影响。人一出生身上带着母体的抵抗力,大概6个月以后开始渐渐消失,靠自身的抵抗力活着。30岁前很多人会带着上天给的运气,终有一天,用尽了所有的运气,从此只能靠实力活着了。几年前,我非常失败,同时却非常骄傲。相比一起毕业的同届,混的并不好。没有在别人都考虑买房子的时候把这个当回事。当别人已经可以躺在自己的功德簿上睡觉时,我却刚刚花费完自己所有的运气,开始积攒实力。我那时很骄傲,因为我觉得自己所得到的,都是通过自己努力获得的。我没靠父母买房安排工作,我可以选择一个自己天生擅长的工作却选择了最不擅长的事情。非常骄傲因为我一没靠父母二没靠老天。但是我错了,我一直在用父母给的思维方式和做事方法。我没有形成自己的思维,我用的是在自己脑中的另一些人的思维。意思是学习任何自然语言对我来说从来不是问题,因为我可以在自己大脑中构造出一个人物形象,他根据我的喜好,有可能是伦敦音、有可能是美音、有可能是东京音、有可能是大阪音。我可以让他们在我脑中说出任何我需要的句子,使用他们应有的口音、形体、表情。我只需要模仿就可以。在工作中,我也一直的事情是模仿自己心中的另外一些人。就是说我既在靠父母又在靠老天。这是一个典型性的海绵式思维习惯。这是自己的工作是解决问题的时候非常有利,可以快速吸收解决问题的各种思路方法。但是当更多的工作是在决策时,问题就暴露出来。<学会提问-批判性思维指南>是解决决策问题的一个有利的工具。...
2019-10-28 15:30
前言
在上一篇中,我们已经对组件有了更加进一步的认识,从组件的创建构造器到组件的组成,进而到组件的使用,.从组件的基本使用、组件属性,以及自定义事件实现父子通讯和巧妙运用插槽slot分发内容,进一步的认识到组件在Vue中的核心地位.。
而今天,我们将对vue中的基本指令进行了解汇总,何为指令?
指令在Vue中是个很重要的功能,在Vue项目中是必不可少的。根据官网的介绍,指令 (Directives) 是带有 v- 前缀的特殊属性。指令的职责是,当表达式的值改变时,将其产生的连带影响,响应式地作用于 DOM。
...
2019-10-28 15:57
通过部署elasticsearch(三节点)+filebeat+kibana快速入门EFK,并搭建起可用的demo环境测试效果作者:“发颠的小狼”,欢迎转载与投稿...
2019-10-28 15:20
递归是算法学习中很基本也很常用的一种方法,但是对于初学者来说比较难以理解(PS:难点在于不断调用自身,产生多个返回值,理不清其返回值的具体顺序,以及最终的返回值到底是哪一个?)。因此,本文将选择LeetCode中一些比较经典的习题,通过简单测试实例,具体讲解递归的实现原理。本文要讲的内容包括以下几点:
理解递归的运行原理
求解递归算法的时间复杂度和空间复杂度
如何把递归用到解题中(寻找递推关系,或者递推公式)
记忆化操作
尾递归
剪枝操作
理解递归的运行原理
例1求解斐波那契数列
题目描述(题目序号:509,困难等级:简单):
...
2019-10-28 15:21
前言 数字化是一种趋势,特别是在“提速降费”的大环境下,这种趋势愈发明显。对讲机这种古老的系统也处在时代的变革之中,虽然手机的功能越来越强,让人怀疑对讲机是否还有存在的必要。诚然,对讲机仍然有它的市场。有时候,功能太多太强反而不是优势;对讲机的优势就是功能简单,专业性强。
笔者最近也涉足了对讲系统的开发,发现这个行业也大有可为。特别是4G、5G的出现,数字对讲系统的优势逐步显现;就像数码相机代替光学相机,模拟对讲机最终会被数字对讲机代替。虽然笔者接触数字对讲时间并不长;但是敏锐的觉察到,在这一细分市场做好、做强,定有丰厚回报。我把开发对讲系统的一些技术要点,想法写下来;希望大家多多交流指导!有志同道合者,可以联系我。
...
2019-10-28 15:50
相信用过 Spring Boot 的朋友们一定在启动日志中见过类似如下的内容,比如在启动 Spring Boot 时,控制台默认会打印 Spring Boot Logo 以及版本信息,这是 Spring Boot 固定的还是可自定义的呢?...
2019-10-28 15:26
上一篇 LeetCode 面试题中,我们分析了一道难度为 Easy 的数学题 - 自除数,提供了两种方法。今天我们来分析一道难度为 Medium 的面试题。
img
系列教程索引
传送门:https://enjoy233.cnblogs.com/articles/leetcode_csharp_index.html
C#刷遍Leetcode面试题系列连载(1) - 入门与工具简介
C#刷遍Leetcode面试题系列连载(2): No.38 - 报数
C# 刷遍 Leetcode 面试题系列连载(3): No.728 - 自除数
...
2019-10-28 15:01
快速排序原理
快速排序是基于“分治法”原理实现,所谓分治法就是不断的将原数组序列按照一定规律进行拆分,拆分后各自实现排序直到拆分到序列只剩下一个关键字为止。快速排序首先选取一个关键字为标志位(关键字的选取影响排序效率),然后将序列中小于标志位的关键字移动至标志位左侧,大于标志位的关键字移动至右侧。一趟比较完成后,整个序列以选取的标志位为界,左侧均小于标志位,右侧均大于关键字。但左右两侧内部并不是有序的(左右两侧关键字个数也不一定相同)。进而继续将左右两侧分别再以这种方式进行排序,直到将序列拆分的剩余一个关键字为止,整个序列即变成有序。
...
2019-10-28 15:29
阅读目录
什么是二分法查找
简单图解
二分法查找的Java实现
最后
什么是二分法查找
二分法查找主要是为了快速查找给定数组内,期待值在数组中的位置(下标)
二分法查找通过对整个数组取中间值,判断期待值所在的范围并缩小范围,每次查找范围折半,直到范围的边界重合,得出期待值的位置,如果找不到返回null
二分法有一个先决条件是:数组内元素必须是有序的
简单图解
给定一个包含1,3,5,7,8,9这一个元素的有序数组,求得期待值7所在的位置,下边用绿块表示指针所在位置
若是按照直接遍历的方式,绿块会从数组的第一个下标开始比较,直到7所在的下标得到结果,遍历需要4次,下边演示下二分法的图示
...
2019-10-28 15:36
final 是Java 中重要关键字之一,可以应用于类、方法以及变量上。这篇文章中将讲解什么是 final 关键字?将变量、方法和类声明为 final 代表了什么?使用 final 的好处是什么?...