Zadig 产品使用手册速迭代、研发生产力 / 幸福感提 升 自助运行、系统化管理、自动化 程度高、测试有效性提升、质量 有保障、横向赋能、技能提升 随时调用工程基线提供的能力、 产品视角开发交付、团队高效协 同、稳定迭代 产研数字化过程数据透明、关键 指标易抽取、有能力合理调动资 源、随时决策响应客户需求 碎片化 研 发模 式 产研全流程拉通需求到上线所需的代码、服务、配置和数据的一致性交付 Jira 飞书 项管 其他 升级生产环境 • 变更数据库 发布工程师 核心场景介绍:不同角色工程师基于统一协作平面,操作使用自动化工作流和云原生环境 面向角色 功能描述 工作流名称样例 具体配置 开发工程师 CI 过程 project-unit-test project-scan • 单元测试、代码扫描 更新日常开发环境及 dev 业务配 置 project-dev-workflow • 构建、配置变更( sit 自主升级环境,选择一个或多个 PR/MR 进行功能需求 的并行验证。 用于测试集成验证 auto-sit 执行自动化 CD 过程 用于验收测试 uat 以此环境作为发布生产环境前的用户验收环节 发布 / 运维工程师 用于生产查看 prod 生产环境管理,变更过程需经过严格审批 管理员 ( 运维 ) 准备——环境 管理员 ( 运维 ) 准备——环境 产品规划 需求开发 Sprint0 码力 | 52 页 | 22.95 MB | 1 年前3
Zadig 面向开发者的云原生 DevOps 平台Kubernetes 全球集群 • 300+ 个数字产品(资产沉淀) • 1600+ 条自动化工作流(全域) • 900+ 个服务化运行环境 通过整合业务、产品、研发、运维等角色端到端的协作过程,打造出提升研发效能的一站式研发协作平台。 价值亮点: • 人均需求交付数提升 50% 以上 ( 需求均衡 / 人员不变 ) • 每年节省研发损耗 4479 人天(约 500 万 / 年) 动化测试遥遥无期,测试全靠人工验证 运维无脑排障、重启、删节点,沦为工具人…… “ “ ” ” 一系列问题(来自社区的声音): 1. 业务边界清晰 2. 权限得到控制 3. 环境公开透明 4. 更新过程可追溯 Zadig — 托管项目方案 演示 -> 环境治理场景:数千开发者、 5 条业务线、多分支多环境协作 IoT 端云混合场景:打通云和端混合部署,实现一致性交付流程 v 上线资源设备只能人工确认,资源设备没有统 上线资源设备只能人工确认,资源设备没有统 一的管理平台。 研发排查问题困难,对于服务进行诊断,每有 一个资源设备都需要给研发单独分配 SSH 权 限,管理成本巨高。 开发 debug 过程需要登录统一的内网主机使 用 Kubectl 操作,权限不可控,风险大。 对于新上项目,面对不同的使用场景,需要创建多 条 Jenkins Job ,配置繁琐,维护负担重。 与 传 统 的0 码力 | 59 页 | 81.43 MB | 1 年前3
C++高性能并行编程与优化 - 课件 - 05 C++11 开始的多线程编程接受一个时间点的 sleep_until ,表示让当 前线程休眠直到某个时间点。 第 1 章:线程 进程与线程 • 进程是一个应用程序被操作系统拉起来加载到内存之后从开始执行到执行结束的这样一个 过程。简单来说,进程是程序(应用程序,可执行文件)的一次执行。比如双击打开一个 桌面应用软件就是开启了一个进程。 • 线程是进程中的一个实体,是被系统独立分配和调度的基本单位。也有说,线程是 CPU 可 解决: CMakeLists.txt 里链接 Threads::Threads 即可: 有了多线程:异步处理请求 • 有了多线程的话,文件下载和用户交互分 别在两个线程,同时独立运行。从而下载 过程中也可以响应用户请求,提升了体验 。 • 可是发现一个问题:我输入完 pyb 以后, 他的确及时地和我交互了。但是用户交互 所在的主线程退出后,文件下载所在的子 线程,因为从属于这个主线程,也被迫退 实世界中的软件工程至关重要 。 • 反面教材: blender 在运行物理解算的时候,界面会卡住,算完一帧后窗口才能刷新一遍 ,导致解算过程中基本别想做事,这一定程度上归功于 opengl 原始的单线程设计。 • 正面教材: zeno 可以在解算过程中,随时拖动滑块看前几帧的结果,编辑场景图,修改 节点间的连接,为下一次解算做准备,同时当前已经启动的物理解算还能在后台继续正常 运行。虽然0 码力 | 79 页 | 14.11 MB | 1 年前3
C++高性能并行编程与优化 - 课件 - 01 学 C++ 从 CMake 学起这个程序,你只需写出不同文件之间的依赖关系,和生成各文件的规则。 • > make a.out • 敲下这个命令,就可以构建出 a.out 这个可执行文件了。 • 和直接用一个脚本写出完整的构建过程相比, make 指明依赖关系的好处: 1. 当更新了 hello.cpp 时只会重新编译 hello.o ,而不需要把 main.o 也重新编译一遍。 2. 能够自动并行地发起对 hello.cpp 一个文件即可运行。 • 而动态库则只在生成的可执行文件中生成“插桩”函数,当可执行文件被加载时会读取指定目 录中的 .dll 文件,加载到内存中空闲的位置,并且替换相应的“插桩”指向的地址为加载后的 地址,这个过程称为重定向。这样以后函数被调用就会跳转到动态加载的地址去。 • Windows :可执行文件同目录,其次是环境变量 %PATH% • Linux : ELF 格式可执行文件的 RPATH ,其次是0 码力 | 32 页 | 11.40 MB | 1 年前3
C++高性能并行编程与优化 - 课件 - 11 现代 CMake 进阶指南#policy-settings https://blog.csdn.net/fuyajun01/article/details/8891749 • CMAKE_BUILD_TOOL: 执行构建过程的工具。该变量设置为 CMake 构建时输出所需的程序。对于 VS 6 , CMAKE_BUILD_TOOL 设置为 msdev , 对于 Unix ,它被设置为 make 或 gmake 。 对于 指针的大小。 • CMAKE_SKIP_RPATH: 如果为真,将不添加运行时路径信息。默认情况下是如果平台支持运行时信息 ,将会添加运行时信息到可执行程序当中。这样从构建树中运行程序将很容易。为了在安装过程中忽略 掉 RPATH ,使用 CMAKE_SKIP_INSTALL_RPATH 。 • CMAKE_GENERATOR: 构建工程的产生器。它将产生构建文件 (e.g. "Unix Makefiles"0 码力 | 166 页 | 6.54 MB | 1 年前3
C++高性能并行编程与优化 - 课件 - 08 CUDA 开启的 GPU 编程倍到 CPU 可以接受的范围内,然 后让 CPU 完成的思路。 先读取到线程局部数组,然后分步缩减 • 刚刚我们直接用了一个 for 循环迭代所有 1024 个元 素,实际上内部仍然是一个串行的过程,数据是强烈 依赖的( local_sum += arr[j] 可以体现出,下一时刻 的 local_sum 依赖于上一时刻的 local_sum )。 • 要消除这种依赖,可以通过右边这样的逐步缩减,这 然 GPU 没有,但为了引出共享内存的概念我才这样 改)。 先读取到线程局部数组,然后分步缩减 • 刚刚我们直接用了一个 for 循环迭代所有 1024 个元 素,实际上内部仍然是一个串行的过程,数据是强烈 依赖的( local_sum += arr[j] 可以体现出,下一时刻 的 local_sum 依赖于上一时刻的 local_sum )。 • 要消除这种依赖,可以通过右边这样的逐步缩减,这0 码力 | 142 页 | 13.52 MB | 1 年前3
Go读书会第二期写书的历程 0 1 Go 语言精进之路导读 0 2 我是怎么读书的 0 3 写书的历程 第一部分 程序员的“小目标”与写书三要素 写书三要素 写书 <- 能力 +意愿 + 机会 过程 写书不易,写高质量的书更难 2018 年下 旬开始动笔 2020 年 11 月下旬 初稿交付 2021 年 12 月出版 《 Go 语言精进之路》导读 第二部分 整体写作思路 异曲同工0 码力 | 26 页 | 4.55 MB | 1 年前3
新一代分布式高性能图数据库的构建 - 沈游人集团关系 社群关系 欺诈团伙 担保关系 资金圈 / 链 … 设别出带有某种共同特征 的企业或个人群体 舆情传导 营销传导 风险传导 … 计算某个事件在关联的企业、个人 之间的传递过程和传递概率 图深度学习及其应用场景 图嵌入 • 将高维的图信息映射到低维向量中 • 通过图嵌入将客户关系表示为低维向量,可以结合其 他客户行为特征进行机器学习训练 图卷积神经网络 • 对图结构数据进行卷积计算0 码力 | 38 页 | 24.68 MB | 1 年前3
C++高性能并行编程与优化 - 课件 - 10 从稀疏数据结构到量化数据类型unordered_map 、空间稀 疏网格、位运算、浮点的二进制格式、内存带宽优 化 面向人群:图形学、 CFD 仿真、深度学习编程人 员 第 0 章:稀疏矩阵 稠密数组存储矩阵 用 foreach 包装一下枚举的过程 改用 map 来存储 分离 read/write/create 三种访问模式 foreach 直接给出当前坐标指向的值 改用 unordered_map 来存储 unordered_map0 码力 | 102 页 | 9.50 MB | 1 年前3
C++高性能并行编程与优化 - 课件 - 03 现代 C++ 进阶:模板元编程理解右值:即将消失的,不长时间存在于内存中的值 • 引用又称为左值( l-value )。左值通常对应着一个长时间存在于内 存中的变量。 • 除了左值之外,还有右值( r-value )。右值通常是一个表达式,代 表计算过程中临时生成的中间变量。因此有的教材又称之为消亡引用 。 • 得名原因:左值常常位于等号的左边,而右值只能位于等号右边。如 : a = 1; • 已知: int a; int *p; • 左值类型:0 码力 | 82 页 | 12.15 MB | 1 年前3
共 10 条
- 1













