
命题逻辑真值表
这篇文章先给出离散数学中命题逻辑真值表,介绍了合取、析取、否定、蕴含、等价运算规则及结果,后分别以具体生活实例对每种运算进行详细说明,并特别指出蕴含运算中逻辑关系与因果关系的区别
这篇文章先给出离散数学中命题逻辑真值表,介绍了合取、析取、否定、蕴含、等价运算规则及结果,后分别以具体生活实例对每种运算进行详细说明,并特别指出蕴含运算中逻辑关系与因果关系的区别
为什么要写这篇博客 一个是感觉自己的计算机网络基础薄弱,关于七层模型和 tcp、udp 看过几次了,都不够透彻,知其然不知其所以然。再一个,最近和同事有聊到这个事,感觉自己也说不明白,又意识到很重要,所以决定整理一下,自己感觉自己会了和可以给别人讲明白这个事儿,区别还是很大的啊。就参考资料和自己理解记录一下。 ...
发布订阅模式 简单来说,需要三个角色 发布者 事件队列 订阅者 发布者 -> 事件队列 <=> 订阅者 一次完整流程 订阅者向事件队列订阅事件E 发布者向事件队列发布事件E 事件队列通知事件E的所有订阅者,订阅者接收 class Event { constructor() { // 事件队列 this.listeners = {}; } // 订阅方法 on(eventType, listener) { if (!this.listeners[eventType]) { this.listeners[eventType] = []; } this.listeners[eventType].push(listener); } // 发布方法 emit(eventType, data) { const callbacks = this.listeners[eventType]; if (callbacks) { callbacks.forEach((c) => { c(data); }); } } } const event = new Event(); event.on("open", (data) => { console.log(data); }); event.emit("open", { open: true }); 观察者模式 需要两个角色 ...
持续更新,为了高效率访问,也算自己复习!!把遇到的手写题,抽空都撸了一遍。满满干货,不墨迹,直接上代码。总结道这篇博客里,下次面试前快速过一遍,临阵磨刀~ ...
该文章介绍了在 macOS 10.14 系统下,借助 iTerm 2 工具进行密钥生成与签名操作的步骤
文章介绍函数柯里化,说明其将多参函数转为单参函数的概念,以 JavaScript 举例阐述原理,讲解参数复用等好处并给出 ajax 请求示例,还提供了完整实现代码及用法
冒泡排序(Bubble sort) 原理和演示: 依次比较数组中相邻的每一对值,如果前面的值 大于 后面的值,则交换他们俩的位置。如果数组中5个数字(length 为 5),由于比较 两个一组 的数字,那么只需要4次(length - 1)比较,就可以实现把数组中最大的一个数放到最后。 function bubbleSort(arr) { for (let i = 0; i < arr.length - 1; i++) { if (arr[i] > arr[i + 1]) { let temp = arr[i]; arr[i] = arr[i + 1]; arr[i + 1] = temp; } console.log(`执行${i + 1}次`); } return arr; } 通过第一步得到最大的一个数放在数组最后。那么剩下的前三个数继续执行第一步,结果找到第二大的数,放在数组倒数第二位,重复此步骤,直到比对完数组中最后一组数。由于第一步骤每次得到一个最大值放最后,j对应的正好是数组最后有多少个最大值,可以免去比较。所以上步骤每次循环可以优化一下每次少算一个最大值,每次循环总数- 1也就是下面例子中的- j。 ...
什么是 swap swap 分区 是 Linux 中特殊的一种存储,他在安装系统时被自动创建。 用于当内存不够时,操作系统会取出内存中不活跃或不常用的一部分放到 swap 分区 中,使内存空闲出一部分空间用于执行其他程序。相当于临时充当一部分内存,当操作系统想要访问 swap 空间上的的数据时,swap 会把数据放回内存中供操作系统使用。 ...