简单耍一下-Kafka

趁着毕设初期,还能摸会儿🐟,了解波 Kafka。 Kafka 术语一览 Kafka,分布式消息引擎系统,主要功能是提供一套完备的消息发布与订阅解决方案。Kafka 也是一个分布式的、分区的、多副本的多订阅者,基于 Zookeeper 协调的分布式日志系统,可用于处理 Web 日志和消息服务。 Topic:主题,承载消息(Record)的逻辑容器,每条发布到 Kafka 集群的消息都归属于某一个 Topic,实际应用中,不同的 topic 对应着不同的业务; Broker:Kafka 服务进程,一个 Kafka 集群由多个 Broker 服务进程组成,虽然多个 Broker 可在同一服务器上进行部署,但为了高可用,会将不同的 Broker 部署在不同的机器上; Partition:分区,一组有序的消息序列,一个 Topic 可以有多个分区,同一 Topic 下的 Partition 可以分布在不同的 Broker 中。Producer 生产的每一条消息都会被放到一个 Partition 中,每条消息在 Partition 中的位置信息由一个 Offset(偏移量)数据表征。Kafka 通过偏移量(Offset)来保证消息在分区内的顺序性;

中间件 / Kafka

使用tcpdump和Wireshark看下TCP握手

tcpdump 和 Wireshark 是最常用的网络抓包和分析工具,作为经常和网络打交道的划水选手,怎么能不了解下呢?补篇博文回顾下相关操作。这里以 example.com 的一次 GET 请求为例,先使用 tcpdump 抓个包,再使用 Wireshark 看下 TCP 的握手。 操作环境:WSL2(Ubuntu 20.04 LTS) + Windows 10

计算机网络

浅解shallow copy、deep copy

“回👋掏”。最近做东西,有点儿玩不转复杂数据类型,写篇博文再回顾下深、浅拷贝相关知识。深、浅的区分主要在对复杂数据类型进行操作的时候。 By the way:时间过得很快,十月了,之前定了个小目标:一个月至少一篇文章产出。2020年的 $ \frac{5}{6} $ 已经过去。很庆幸自己坚持了下来,学到了不少东西。实习期间其实有不少的文章主题的想法,但真正想动手写篇博文的时候,发现事情并没有想想中的那么简单,一个主题涉及到的知识点还是蛮多的,再加上实践经验的不足,有些东西很难写道点上,copy & paste 总是不太好的『努力提高文章质量,hhh~』。希望自己后续继续加油。

Python / JavaScript

负载均衡技术小记

open red, OSI 模型 常见 OSI 模型负载均衡方案 2 层负载均衡:一般是用虚拟 MAC 地址方式,外部对虚拟 MAC 地址请求,负载均衡器接收后分配后端实际的 MAC 地址响应。 3 层负载均衡:一般采用虚拟 IP 地址方式,外部对虚拟的 IP 地址请求,负载均衡器接收后分配后端实际的 IP 地址响应。

计算机网络

setTimeout 是到了xx ms 就执行吗,了解浏览器的 Event-Loop 机制

要想 JavaScript 玩得溜,还得了解波 JavaScript 执行机制/(ㄒoㄒ)/~~。 前言 最近看了波 JavaScript 相关的文章,不得不说,JavaScript 我还真没玩明白(给我哭~。。。😅)。也挺久没写文了,实习(“摸🐟”)之余小记一波。 回顾一句话:JavaScript 是一门单线程、非阻塞、异步、解释性脚本语言。 本文的标题是:setTimeout 是到了xx ms 就执行吗,了解 Event-Loop 机制。先回答波:不是。 来看下网上的一段经典 js 代码在浏览器中「Microsoft Edge 84.0.522.63(64位)」的执行结果。 12345678910console.log('script start');setTimeout(() => { console.log('setTimeout');},0);Promise.resolve().then(() => { console.log('promise1');}).then(() =>{ console.log("promise2");});console.log('script end');

JavaScript

操作系统笔记-IPC 机制

进程间通信(IPC,Inter-Process Communication),指至少两个进程或线程间传送数据或信号的一些技术或方法。 总览 IPC

操作系统

操作系统笔记-进/线程模型

模型是指对于某个实际问题或客观事物、规律进行抽象后的一种形式化表达方式。- MBA 智库百科 - 模型 概念梳理 进程 进程是具有独立功能的程序关于某个数据集合上的一次运行活动,是系统进行资源分配和调度的独立单位。 一个进程是某种类型活动的一个活动,它有程序、输入、输出以及状态。进程是对正在运行程序的一个抽象。单个处理器可以被若干进程共享,它使用某种调度算法决定何时停止一个进程的工作,并转而为另一个进程提供服务。一个程序可对应多个进程。 系统资源以进程为单位分配,如内存、文件、每个进程拥有独立的地址空间。

Go / 操作系统 / 进/线程

React Hooks 那些事儿

翻了波之前写的文章还有笔记,发现关于前端的文章并不多(好歹也划水做过点前端开发)。巧了,最近没什么好话题可写,做下 React Hooks 学习笔记吧。 Effect Hook 不得不说 Hook 的出现降低了我们在 React 中处理副作用(side effect)的心智负担,通过 useEffect 就可以很好的完成之前需要使用几个生命周期函数配合才能完成的事。 Effect Hook 死循环请求问题 由于 Effect Hook 不熟「官方文档没读透」,最近使用 useEffect 出现了异步请求发送了无限次的问题,翻🚗了。我有个组件大概是这么写的:

React

使用docker-compose编排前后端分离应用

几个月过去了,是时候把当初的 🚩 干掉了。 顺便提高下 docker 的熟练度,得闲看下原理🚩(假期看过,没总结…)。 重装了波系统(Windows 2004 版本),这个版本下,Docker Desktop 是以 WSL2 为 backend 的,不用 Hyper -V 了,舒服了很多。 细品了下(又摸鱼搞 DevOps),跑这个前后端分离项目需要到的容器还挺多,4 个左右(后端 REST 服务、数据库服务、前端服务),前端服务上了两个容器『貌似没必要』,一个用来过渡,一个跑挂着 SPA 的 Nginx。 这次祭出了 Docker Compose,毕竟容器有点“小多”,单单用命令费劲。

docker

给 GitHub commit 加个小绿标

最近一波重装系统啥都没了,最常用的 Git 配置肯定得安排回来的。记得之前给 git 的 commit 加了个签名,回想下为什么要给 commit 做下签名?因为它能让 GitHub 的 commit 历史更帅?看下加签名之前是怎么样的: 对commit进行签名前

Git
15678917