累与矛盾 过去从没有哪一年能如今年一样,如此迫切地想要写一篇文章来记录自己的这一年。 如果要让我为我的 2023 经历做一个关键词总结,”忙“和”矛盾“。再贴切不过 2023,是近些年来世界经济动荡最为明显的一年, 是国内实体经济萎靡的一年, 是大裁员的一年, 也是我心路历程变化最大、最矛盾的一年。 曾在大一信誓旦旦地说毕业直接找工作的我, 到了大二,由于成绩还算可观,慢慢改变了想法。 我自认为是一个很容易受他人影响的人, 大三前的暑假,看见周围的人开始为工作而准备面试,自己也心动了,慢慢地,就产生了对未来职业的焦虑。 有同学曾问过我对未来的打算,我只好尴尬地回答:先”并行“发展吧。 然而这分明就是两条非常矛盾的道路。 大三的课很多,如果要兼顾课内成绩的同时还要为工作而考虑,时间将会非常紧。 从七月底开始,咬着牙坚持了小半年,竟真给我坚持了下来。 这小半年,我需要同时兼顾学业、实习、竞赛、开源项目,以及学校实验室的一些项目。 只能说相当累。 也不知道哪天晚上喝多了,竟做出这么个玩意儿: 两次实习经历也让我深刻意识到了互联网企业是普遍存在加班现象的。 尤其是小红书,大家默认都加...
部署的注意事项 网上已经有很多部署教程了,这里不做详细阐述 注意如果要自己安装,jdk要用oracle的rpm包。 关闭高水位只读限制: 1curl -XPUT -H "Content-Type: application/json" http://192.168.111.300:8060/_all/_settings -d '{"index.blocks.read_only_allow_delete": null}' 原理 存储 ElasticSearch 基于 Apache Lucene 倒排索引实现,比关系型数据库如MySQL过滤更快。 MySQL通过将 Term Dictionary 以 B-Tree/B+Tree 的形式存到磁盘中。将多个值作为一个 tuple 通过连续区间存放。 能减少寻道次数。 Lucene 在 Term Dictionary 的基础上加了一层索引——Term Index(在内存中,并且可以使用一些压缩技术, 如 FST , 来减少内存占用),通过它可以快速找到...
萌芽 在我初二的那个时候,学校开了 C 语言的竞赛班,从此我就对编程产生了极大的兴趣。不知不觉间,快一年之后,我在百度贴吧上接触到了⌈ IAPP ⌋ 这个软件,在看了大触们的软件的分享之后,我开始萌生自己做一个手机软件的想法,但是,当时对这方面完全不熟悉呀。偶然间,我找到了一个关于聊天室(IM)的帖子,作者还公开了他的源代码!于是就直接 copy 下来,把代码中的中文、字体颜色全部换了个遍,做出了“属于自己的”第一个软件。兴致满满地在吧里发了一个帖子,希望有人能够下载“我的”软件,玩玩“我的”软件。(当然逃不过大佬们的火眼金睛,还是被发现了是抄袭的:) 当时连着好几天都没敢打开贴吧) 到后来,这个软件也没有多少人使用。不过我却对此越来越痴迷:我渴求自己的作品能够被大家所发现、使用和讨论。 到了高一上册,积累了一些 Java、Android、Python 的经验。这期间,我了解到了酷安,听说到这个应用市场上发布软件非常容易,在仔细调研过之后,发现确实有很多的开发者发布的“小玩具”,很多没有图标的、体积一个比一个小的 APP 就是一个很好的证明。说实话,这给了我很大的信心,让我认...
在维护 QQChannelChatGPT 项目时,发现很多人电脑上的 Python 版本与项目要求的 3.9+ 不一致,在一开始,我是写了一个启动脚本,自动在 npm.taobao.org 下载合适的 Python 版本的 exe 文件。不过在最近越来越多的人反映中发现了一些问题: Windows 下,安装了 Python 之后,由于 Windows 的一些机制,环境变量(PATH)需要重启终端或重启电脑之后才生效,一些人不知道这一点,也很难广泛科普。 Windows下,一些人之前有安装过 Python,但是版本不合适,程序装了合适版本的 Python 后,又由于环境变量设置的问题,导致 python 或 python3 指令还是链接到原来的 Python 上。 于是我就考虑开始使用 Embbed Python,内置一个 Python,这样就行了嘛orz。 在 python.org 上,是有提供 Embeddable Python 的。并且 npm.taobao.org 等国内镜像也有对应的文件,不用担心用户的梯子问题。由于下载下来是一个压缩包,需要写代码自行解压。只需要使...
关于Git的一切(即将) 鉴于Git的工具属性,本博文记录我在项目开发上使用Git的一些心得和方法。本博文将以实际场景出发,列出大量场景并给出最好的解决方案(也许)。 将本地未提交的代码移动到另一个分支 在开发一个新功能时,如果没开发完,又接到另一个更加紧急的需求需要在这个分支上进行,此时需要将没开发完的代码移到另一个分支。 123git stash # 暂存该分支未提交但已更改并保存的代码。git checkout -b new-branch # 以某一个分支为基础分出一个新分支git stash pop # 推出暂存的代码 本来打算取消某次 commit 来重新提交,但是不小心误删(drop commit)了,如何恢复? 1git reflog 此时你会找到你 drop 的 commit,把对应的 commit hash 复制下来,然后执行: 1git reset --hard <commit_hash> 即可
Ceph 介绍 架构 当有大量的小文件时,基于有中心架构的 HDFS 的 Name Node 会有很大的压力。 Ceph 是无中心架构的典型,取消了 HDFS 那样的集中式元数据存储。客户端通过一套算法(Crush)在本地计算出写入数据的存储位置,直接与存储节点(数据节点)交互。 仅 Ceph 块设备(RBD)和对象存储(RGW)没有元数据中心节点,文件存储(FS)还是有的,使用 MDS 服务集中存储元数据。 ![](/images/Ceph集群搭建及PG分布不均衡解决 87a264564055410992ae99f1e279c0ae/20231027081942998.png) Ceph 中的核心组件包括: Mon(itor):维护 Monitor Map、OSD Map、PG Map、CRUSH Map 等各种维护存储集群状态的图表。(这些图表保存着其各自的每一次状态变更,称为 Epoch) OSD:Object Storage Device。存储数据、管理磁盘、读写数据。OSD 服务处理数据的复制、恢复(Recovery)、回填(Backfilling)、再均衡(...
年代久远,可能未涉及全部内容,后续会慢慢补充。 小时候,我的家庭条件不是很好,当然也不算特别差,中规中矩的水平。 小学四五年级左右,我迷上了 Minecraft,我迷恋它近乎无限的地图和极高的创造性。起初,我只是每天放学后和家里隔壁饭店和我年纪差不多大的朋友一起去他家玩电脑版的MC,后来,我了解到了MC也有手机版,因此就开始拿着家里人的手机下载便携版的MC之后沉迷到游戏中。逐渐地,我了解到了优酷的籽岷(当时岷叔还主要活跃在优酷上)、多玩盒子、百度贴吧(当时的百度贴吧比现在的风气好。噢,倒不如说当时的所有社交平台风气都比现在的好。)、各种服务器(神话),在服务器上认识了至今还有联系但素未谋面的网友、蛤蟆吃… 我第一次感到一个游戏原来有如此多的花样,而不单单只是一个游戏本身,我第一次对一个游戏充满了无限的热爱。慢慢地,我开始仿照岷叔,在优酷上发布了第一个MC实况视频,我不在意是否有人看,仅仅因为喜欢。 越发不可收拾,3年过去了,我在优酷上上传了一百多个视频。也就是在这期间,对计算机的热爱在我的心里逐渐燃烧:局域网联机、蛤蟆吃联机、修改MC配置文件… 可以说Minecraft间...
起因 在连接到服务器时,不想操作太麻烦,在网上搜到了可以配置免密登录: Windows下,使用 1ssh-keygen 生成公钥id_rsa.pub和私钥id_rsa,存放在C:\Users\用户\.ssh中。 进入Linux中的.ssh目录下,将公钥信息追加在authorized_keys中。 然后就可以实现Windows免密登录了。 但是,还是需要先输入ssh xxx@xx.xx.xx.xx,非常不elegant。 查了网上也没查到简化这一步的方法(现在想来,其实用一个bat或者sh脚本就能实现(雾- -))。 修改 Windows Terminal 设置 翻了以下Windows Terminal的设置,发现左下角可以自行配置设置。 打开之后,就是一个json格式的设置信息(嗯,很有Microsoft的风格) 分析了一下之后,发现可以通过更改这里面的配置文件来实现类似于这种的快捷指令: 首先找到profiles字段,这个字段下有一个名为list的数组,存放的就是上面提到的快捷指令。可以看到,有Powershell, Git, CMD等常见的工具。 1234567891...