Docker踩坑日记-1
问题背景 这几天为了测试一个Django的webservice,想在云主机上用docker-compose部署一个本地版本进行测试,但docker-compose up的过程中,build镜像时无法拉取镜像;排查后发现使用自定义网桥(docker中的bridge网桥)network时都无法连接外网,而且容器内无法ping到网关,但宿主机内可以ping到容器的网关,docker network inspect查看自定义的网络,ip分配以及网关设置正常 使用docker默认的bridge网络创建容器,发现也无法访问外网,情况一模一样 解决过程 仔细排查后怀疑是docker network本身的问题,随后使用bridge-utils创建网桥: 暂停docker服务: 1service docker stop 添加网桥: 1brctl addbr br0 设置网段: 1ip addr add 192.168.12.0/24 dev br0 启用网桥br0: 1ip link set dev br0 up 修改docker默认网桥: 1vim /etc ...
ReBucket算法总结
前言 这次接触ReBucket算法是在实际需求中需要完成一个落地的相关功能模块,也算是少有的复现论文到落地项目的功能模块的机会了,这里做一下算法本身的总结,有关的实现后续会放在另一篇文章中 几个需要了解的词 PDM:位置相关模型(Position Dependent Model) 并查集:一种树型的数据结构,用于处理一些不交集(Disjoint Sets)的合并及查询问题 层次聚类方法:一种自底向上的聚类方法(类似并查集,从每个元素都属于自己的集群开始) WER:Windows Error Reporting,微软部署的一套用于及时告警的分布式系统 Grid Search:一项模型超参数(需要人工选择的参数)优化技术,常用于优化三个或者更少数量的超参数,本质是一种穷举法 背景 尽管在日常的开发工作中,开发团队已经在发布产品前花费大量资源和精力进行软件测试,但实际上,已发布的软件仍然有一些错误,而这些错误往往表现为release版本运行时崩溃 针对这个现象,微软部署了一套分布式系统WER(Windows Error Reporting)用于自动从崩溃现场收集崩溃信息、聚类到各个 ...
第一次实习考核总结
第一次实习考核总结 在腾讯的第一次实习考核,总结一下过程与收获 过程 我的实习考核ppt主要有以下内容: 工作项目 难点&解决方案 后续规划 收获 需要提高ppt能力,有一些内容可以更精炼 量化指标很重要,量化指标很重要,量化指标很重要 在接入一个项目,或者一个项目做到尾期的时候,一定要有一个的思考是:如果从头开始这个项目的话,你会怎么设计逻辑 在遇到一些问题,被一些问题卡住的时候,要反思这个问题是否值得花这么多时间;解决问题后也要留下一些经验 总之,意识到了自己的很多不足吧,还是需要更加努力 不能摸鱼力
浅尝antlr4
浅尝Antlr4 前言 Antlr是什么 In a word, 多源语言多目标语言的一个语法分析框架 以下是官方文档的解释: ANTLR(ANother Tool for Language Recognition)是一个功能强大的解析器生成器,用于读取,处理,执行或翻译结构化文本或二进制文件。它被广泛用于构建语言,工具和框架。ANTLR从语法上生成一个解析器,该解析器可以构建解析树,还可以生成一个侦听器接口(或访问者),从而可以轻松地对所关注短语的识别做出响应。 ANTLR (ANother Tool for Language Recognition) is a powerful parser generator for reading, processing, executing, or translating structured text or binary files. It’s widely used to build languages, tools, and frameworks. From a grammar, ANTLR generates a parser ...
DEM项目日志
前言 在Whosbug项目即将上线,已经开始mr合流、code review的时候,突然被领导拉去做DEM了(还是挺突然的) DEM 是基于Go开发的一套完善的告警系统,而我当时对于Go语言的使用仅限于简单使用iris框架和日常刷算法题,所以分配到这个需求还是很虚的 DEM一期开发工作 和Whosbug不同,这次DEM的项目开发工作,我是半途加入的,而且是远程工作,所以免不了项目接入成本和环境成本,也是这次经历让我明白了为什么那么多公司不愿意提供远程实习的岗位 过程 接入项目 接到需求的第一天与学长进行了对接会议,当天和之后的一天按学长的介绍读了下我负责的alert模块的代码,熟悉一点了之后,开始尝试着手写负责的功能模块 完成功能模块 这部分工作在熟悉了数据流和数据结构后比我想象的要简单,一些细节问题上问了下学长之后,一个下午就写完了,与学长确认后认为应该妹有问题,但还是需要测试的 测试环境准备 配置好vscode的远程调试(卡了三天) 配置好依赖和一系列环境变量(卡了三天) 至此终于能正常调试了 大概这就是remote吧,踩了少说十个坑… 功能模块的单元测试 搭好环境过 ...
K8s-RoadMap
K8s 是什么 ? 容器编排工具,简单来讲,就是把一系列服务联合或非联合部署起来 Kubernetes 是什么? K8s 有何优势 ? 多种应用混合部署以降低成本 管理大规模复杂应用 更好的应用可观测性 (容器维度,而非机器维度) 以 K8s 为核心的丰富的工具链 几个必须了解的词 kubectl: kubectl 是管理 k8s 集群的命令行客户端 Helm3: K8s 应用打包/发布工具 Docker: 容器引擎 Docker Docker 是新时代虚拟化,云原生的基础, 尽管有多种容器化的方案,但是 Docker 目前是事实标准 Docker 的官方文档emmmm,还是看别的博客文章吧: 什么是 Docker 使用 Dockerfile 定制镜像 Docker 常用指令详解 K8s Node/Pod/Container Container 自然不用说,是docker中的基本概念(实例化的Image) Node 相当于物理节点,一个 Node 中可能有多个 Pod ,每个 Node 会对应一个子网段,如10.10.10.1/24,而其中的每个 Pod ...
Whosbug项目日志1
Whosbug项目日志1 前言 从八月份的企业实训到现在,关于whosbug断断续续也开发了一个多月了(实际开发时间), 在正式上线前小小总结一下吧 开发初期 过程 刚从腾讯那里拿到这个需求(或者说idea吧)的时候,还觉得挺简单的,基于Git不就可以很快找到是谁的问题了嘛但仔细想了想,这个需求是需要从项目报错的日志出发,最终找到责任人,这就涉及源码结构了(或者说语法分析、源码分析),还是…比较复杂的 作为开发小组组长,当时决定先花半周到一周的时间确定下来项目架构以及数据库设计等(作为软件工程专业学生,还是要明白需求分析以及系统设计的重要性的) 几天过后确定了初步的架构: 并完成了数据库的设计(这里就不po出来了) 分工后就开始正式的开发流程了,使用的协作平台是coding,每天联调任务的感觉还是挺新奇的(毕竟之前基本上都是单人开发或者双人开发,而且基本都不用任务协同) 难点 项目初期的架构设计还是有一定难度的,尤其是对基于git以及源码的分析结果的数据结构设计等 个人对docker、CICD以及Django不是很熟悉(docker只有一点点了解,Django之前没有用 ...
pandas 大文件操作
常规的读取大文件的步骤 12345678910111213141516171819import pandas as pdf = open('./data/ows-raw.txt',encoding='utf-8')reader = pd.read_table(f, sep=',', iterator=True, error_bad_lines=False) #跳过报错行loop = TruechunkSize = 100000chunks = []while loop: try: chunk = reader.get_chunk(chunkSize) chunks.append(chunk) except StopIteration: loop = False print("Iteration is stopped.")df = pd.concat(chunks, ignore_index=True) STORY 这几天有一个需求是 ...