『Linux』允许使用 SSH 远程连接 root 用户
编辑 /etc/ssh/sshd_config 即可 1sudo nano /etc/ssh/sshd_config 在 #PermitRootLogin prohibit-password 下方加上这一句 1PermitRootLogin yes 保存,然后重启即可
『高等数学』P2:多元函数求导
复合函数链式求导 (最后不要忘合并) 隐函数求导 (例1略) (雅各比行列式) 练习题 我圈出来的地方应该是写错了的,应该是 z2−xyz^{2}-xyz2−xy
『高等数学』P1:空间几何、多元函数极限、偏导
平面与空间直线 平面 直线 表示直线的时候 0 是可以在分母上的 二元函数的极限 偏导数 (略) 全微分 练习题
『随笔』618桌面改造计划
前情提要 鄙人自开学以来桌面一直是没有放显示器的,毕竟从小到大一直用小屏的笔记本电脑打游戏,上了大学也没有什么感觉。我高考后买的一台屏幕 13 寸的 ROG 幻13,可以 360° 旋转,还支持触控,加上一支微软的 Surface Pen,上课记笔记就变得十分方便,也就一直用到了现在,直到—— 直到我参加了字节跳动的青训营(笑) 青训营最后有一个小组项目,然后我发现一个小屏就不够我看的了,因为要一边写代码,一边看文档,一边还要关注群里面的最新消息,这是我第一次这么急切地想要一个大屏幕,最好能来个双屏 并且,我平时桌面是很乱的,一堆乱七八糟的东西,还有一堆充电线,真的看着都影响工作效率,必须要有行之有效的解决方法 并且还有看书的问题,如果我想看书的话,必须把电脑往里面推,屏幕就隔得很远,不容易看清。而且如果以后要放一个大屏的话,支架肯定会占据很大一块桌面空间,纸质资料很多的话可能顶着支架,很烦(杭电的桌子不大,经我测量约为 100*50*40,长宽高) 所以,这次改造一共要解决三个痛点: 屏幕不够大 桌面太乱 看书体验不够舒适 那么,我最后有没有解决这些问题呢? 成品演示 这应该是我目前能想到的最优解了,那个键盘其实还可以往里推,还是有点深度的 看一下全景 其实后面也是有一堆乱七八糟的线的,只是屏幕挡住了,眼不见心不烦 可以迁一个 USB Hub 出来放桌面上,但其实平时没有很多拔插的需求 分步讲解 买台子 首先,综合各方面考虑,我必须为我的屏幕买一个台子 这样就不会因为它的支架而困扰,台子下面可以放很多东西 而且不能太高,杭电的桌面高度很低,上面有个大书架...
『字节青训营-3rd』结营感想(待后续)
福利鄙人平时上课的时候使用 IDM 把视频爬了下来,各位可以使用下面的链接访问! 阿里云:https://www.aliyundrive.com/s/xW4crbwj2f2 (被反馈貌似无法下载) 提取码: 5m2g 百度云:https://pan.baidu.com/s/1nAhcW__vhYPQfOGYXUO-Xg 提取码:89nn 呼!为期一个多月的课程已经结束了,我们的小组项目也进入了收尾阶段,是时候来写一篇总结了 课程方面 总体的课程安排 一个月的时间,从 Golang 的入门开始,到网络,到架构,到存储,真的可以说是收获颇丰 从5月7日到5月17日,我们学习了Go 语言原理与实践,最后的那一天还做了个小项目 从5月17日到5月24日,我们学习的是网络与部署的相关内容 25日上了算法课,讲了一种老师的新排序算法,可以取各种主流算法的长处,并被 Golang 的新版本采用 从27日到29日,连上三节课,讲的是框架方面的内容,而且很多东西都是学校里学不到的,比如微服务之类的,学校肯定不会给你教这个 接着,从5月31日到6月2日,开始讲中间件,消息队列的两种主流处理方式的的确确吸引到了我 最后一部分便是存储与数据库了,从最简单的单机存储,一种讲到分布式对象存储,算是开眼了,了解了很多此前闻所未闻的东西 我的感受 总的来说,这门课我能给满分,毕竟讲得是真的好,下面是几个本次课程给我最大的几个点 讲师资历深厚 来给我们上课的老师都是字节内部工作了很久的老员工,比如给我们讲对象存储的老师介绍自己说是18年来字节的,是对象存储的早期成员,一路见证了字节对象存储容量的...
『Golang』import 中下划线,点,别名的作用
下划线 众所周知,在 Golang 中如果 import 了一个包,会自动运行它的 init() 函数,并且如果你不在你的代码中使用该包,就无法编译 而如果你只需要它的 init() 函数,不需要使用它内部其他组件,就可以加一个下划线 例如在使用 GORM 时,不仅要引入 GORM 的包,还要引入数据库驱动 1234import ( _ "example.com/my_mysql_driver" "gorm.io/gorm") 点 加点后,在调用时可以省略包名前缀 1234567package main import . "fmt" func main() { Println("Hello World!")} 别名 别名就更简单了,就是取别名的意思 1234567package main import f "fmt" func main() { f.Println("Hello World!")}
『面试八股文』1:如何在40亿个整数中寻找一个数字
前情提要: 本篇来源于B站视频:漫画面试系列-如何在40亿个整数中寻找一个数字 整数是 32 位的 int 机器只有 2G 内存 可以使用很多机器
『大学物理』叉乘的计算
感谢 B 站视频:叉乘/向量积的右手螺旋法则 a→×b→\overrightarrow{a}\times \overrightarrow{b} a×b 方向判定 伸直右手,四指向前,大拇指垂直,将四指指向 a→\overrightarrow{a}a 的方向,然后向 b→\overrightarrow{b}b 的方向弯曲,大拇指的方向就是 a→×b→\overrightarrow{a}\times \overrightarrow{b}a×b 的方向 大小判定 ∣a→×b→∣=∣a→∣⋅∣b→∣⋅sinθ\left| \overrightarrow{a}\times \overrightarrow{b}\right| =\left| \overrightarrow{a}\right| \cdot \left| \overrightarrow{b}\right| \cdot \sin \theta a×b=a⋅b⋅sinθ 使用行列式计算 a→×b→=∣ijkaxayazbxbybz∣\overrightarrow{a}\times \overrightarrow{b}=\begin{vmatrix} i & j & k \\ a_{x} & a_{y} & a_{z} \\ b_{x} & b_{y} & b_{z} \end{vmatrix}a×b=iaxbxjaybykazbz
『字节青训营-3rd』L20:Tos 对象存储实战
抖音背后的存储 重任来袭 短视频架构初探 存储需求 存储需求量细化 寻找天选存储 为什么对象存储 前情回顾 存储对比 分布式存储选型 易用性 接口对比 (听上去好像真的很方便) 适应环境 对象存储怎么用 申请 Bucket (链接是一个视频,实操如何在字节内部创建 Bucket) Restful 接口 (也是一个内部视频,你可用看见这个视频本身就是放在 TOS 上的) MultiUpload 接口 Listprefix 接口 TOS字节内部实践 (这是讲师18年来到字节后积累的经验) 开发一个对象存储 可扩展性之 Partition 持久度之 Replication 成本之 EC (任何一块坏了,可以从其他块推导出这一块的内容) 成本之温热转换 架构细化 存储需求量细化 高可用之拆分 高可用之粤核酸的启发 高可用之镜像灾备 未来展望 课后总结
『字节青训营-3rd』L19:深入理解 RDBMS
经典案例 从一场红包雨说起 RDBMS 事务 ACID 红包雨 与 ACID 原子性 一致性 隔离性 持久性 红包雨 与 高并发 红包雨 与 高可靠 发展历史 前DBMS时代 人工管理 文件系统 (打开记事本记录) DMBS时代 网状模型 层次模型 关系模型 DBMS数据模型 SQL语言 历史回顾 关键技术 一条SQL的一生 SQL引擎 Parser Optimizer Executor 存储引擎 InnoDB Buffer Pool Page B+ Tree B+树是真的太妙了 事务引擎 Atomicity 与 Undo Log Isolation 与 锁 Isolation 与 MVCC Durability 与 Redo Log 企业实践 红包雨挑战 大流量 Sharding 流量突增 扩容 代理连接池 高可用&高可靠 3AZ高可用 HA管理 课程总结
『字节青训营-3rd』L18:带你认识存储 & 数据库
经典案例 数据的产生 数据的流动 数据的持久化 潜在的问题 存储 & 数据库简介 存储系统 系统概览 系统特点 简单:业务逻辑 复杂:错误处理 存储器层级结构 越往上,容量越小,性能越好,越贵 数据怎么从应用到存储介质 RAID 技术 数据库 概览 DSL:领域专用语言(人说人话,狗说狗话) 关系型数据库特点 非关系型数据库特点 数据库 VS 经典存储 结构化数据管理 事务能力 复杂查询能力 数据库的使用方式 主流产品刨析 单机存储 概览 本地文件系统 key-value 存储 分布式存储 HDFS Ceph 单机数据库 关系型数据库 非关系型数据库 分布式数据库 解决容量问题 解决弹性问题 解决性价比问题 More to Do 新技术演进 概览 SPDK AI & Storage 高性能硬件 总结
『字节青训营-3rd』L17:分布式定时任务那些事儿
前言 春节集卡瓜分20亿 发展历程 Windows 批处理 Windows 任务计划程序 Linux命令-CronJob 单机定时任务 Timer、Ticker ScheduledExecutorService 任务调度 Quartz 分布式定时任务 定义 特点 执行方式 业内定时任务框架 Xxl-job SchedulerX TCT 知识面扩充 02小结 实现原理 核心架构(重要) 数据流 功能架构 控制台 基本概念 为什么 1 个任务对应 n 个任务实例: 因为一个任务可以执行多次 为什么 1 个任务结构对应 n 个任务结果: 因为每次调度都可能会失败,这时就要重试,每试一次都有结果 任务元数据 任务实例 触发器 核心指责 方案1 方案2 (鄙人感觉是非常巧妙的操作) 高可用 问题引出 数据库行锁模式 分布式锁模式 调度器 资源来源 资源调度 节点选择 任务分片 高级特性 任务编排 故障转移 高可用 执行器 03小结 业务应用 课程回顾
『Go』区分 GoLand 代理和 go proxy
先说结论,这两个完全不是一个东西 GoLand 代理 指的是在 GoLand 进行通信时的代理(如 copilot,更新,登录,集成的 Git 或其他操作) (如这种操作) 但请注意集成终端可能不使用这个代理,这时就需要通过重新指定代理 (建议将这条命令直接加到终端启动时执行) Go proxy 这是 Go 在下载依赖时的优先顺序,可以使用 go env 来查看 详细内容可以看这篇
『字节青训营-3rd』L16:走进消息队列
引子 四个案例 本地日志丢掉了,怎么办? 解决方案 前世今生 发展历程 业界对比 消息队列-Kafka 使用场景 如何使用 Kafka 基本概念 Offset 每个消息都有编号 Replica 复制多份副本,如果 Leader 所在的机器挂了,就在 ISR 中的副本重新选一个 Leader 数据复制 由 Controller 分配复制 Kafka 架构 一条消息的自述 思考 不能一个一个发,应该要一起发送 Producer 批量发送 数据压缩 最好的是 ZSTD Broker 数据的存储 消息文件结构 磁盘结构 顺序写 如何找到消息 偏移量索引文件 时间戳索引文件 传统数据拷贝 零拷贝 Consumer 消息的接收端 Low Level 手动分配 优点:方便快捷 问题: 如果某个 Consumer 挂掉了,那它负责的那些 Partition 直接阻塞 如果某个 Consumer 能力不够,想其他 Consumer 来接替,必会出现机器的启停 High Level 自动分配 Consumer Rebalance (这个流程有点复杂,可以去查找更多资料学习) 下面是一些缺点 数据复制问题 重启操作 (重启一个节点要很久,重启所有节点要数天甚是数周) 不能并发重启,可能一个片放在两个机器上 替换、扩容、缩容 (只要有节点的变动,就有复制的成本) 负载不均衡 (想解决 IO 问题,引入了新的 IO 问题) 问题总结 消息队列-BMQ BMQ 简介 读写分离 运维操作对比 H...