Zadig 面向开发者的云原生 DevOps 平台服务全生命周期而非只关注代码 ● 每天多次提交提早验证 Zadig 采用「云原生产品级交付」设计理念 数字化产研协同 • 环境 - 统一开发者协作平面 • 工作流 - 统一交付变更通道 • 异构支持 - 统一产研运管理平面 重视开发者体验,工程师不再做脏活累活 传统 DevOps 体系 Zadig 云原生 DevOps 平台 高人效 低人效 低人效 / 低质量 / 低效率 平台运维 业务压力大,能力建设缓慢: • 大量工作花在工具链维护 • 项目间依赖复杂,环境管理难 • 交付版本依赖工单,发布风险高 • 公共资源 / 业务资源利用率低 赋能多业务:一个平台解决了多异构项目的管理和规范 团队高效协作:定义团队角色工作流模板,随时可用云上环境 价值清晰呈现:为管理者提供全视角效能数据,赋能数字决策 人工低效操作减少 80% 构建资源利用率提升 60% 运行效率低,管理维护成本高 方案局限性大,安全性风险高 无法支持敏捷交付模式;手工维护成本 高,阻碍业务交付效率 面向多服务并行部署,安全发布, 0 维护负担 支撑云原生构建 / 运行环境,多云异构支持及企业 级登录权限支持 传统运维管理类平台 蓝鲸 Rainbond KubeSphere KubeVela 面向资源管理的运维工具集 面向开发者,需结合 CI/CD 工具额外搭建0 码力 | 59 页 | 81.43 MB | 1 年前3
新一代分布式高性能图数据库的构建 - 沈游人的学科带头人,我国高性能计算和存储系统等方面的 泰斗和先行者。 2021 年 3 月 25 日,海致科技与清华大学计算机科学与技术系共同建设高性能图计算院士专家工作站 。 高性能图计算是高性能计算、图计算两项技术融合产生的新的技术方向,满足人们对更大规模、更复 杂数据的实时处理和存储需求,是计算机领域竞争新战略制高点。 产学结合、协同创新,打造全球领先的国产自研图数据库 AtlasGraph ,培育世界级的图计算软硬件 查询 / 操作 生活中无处不在的图 图分析技术分类 图查询 • 使用图数据库的查询语言进行点边搜索 图算法 • 中心性算法 • 社区算法 • 路径算法 • … 图深度学习 • 图嵌入 • 图卷积 • 图注意力网络 • 图自编码器 图查询及其应用场景 图查询 • 使用图数据库的查询语言进行点边的关联查询,可以快速完成传统数据库难以完成的 多度点边关 联 当前图的典型应用场景 图技术全景图—— Graph Technology Landscape 2020 • 图数据库 • 图数据建模 • 图计算引擎 • 图数据集成 • 可视化分析 • 知识图谱解决方案 • 图查询语言 • 欺诈检测 • 网络安全分析 • 社交网络分析 • BI 工具 • 图分析工具集 • 图咨询服务 Source : Graph Aware 图数据库发展趋势 AtlasGraph0 码力 | 38 页 | 24.68 MB | 1 年前3
C++高性能并行编程与优化 - 课件 - 12 从计算机组成原理看 C 语言指针从计算机组成原理看 C 语言指针 by 彭于斌( @archibate ) 往期录播: https://www.bilibili.com/video/BV1fa411r7zp 课程 PPT 和代码: https://github.com/parallel101/course 请问下面这三段代码有什么错误? • float x = -3.14; • printf(“%f\n”, abs(x)); 00000111 表示 7 • ...... • 11111100 表示 252 11111101 表示 253 11111110 表示 254 11111111 表示 255 • 字节实际上就是 C 语言中的 unsigned char 类型。 表示更大范围的整数:字( word ) • 但是单单一个字节表示的范围还是太有限了,只能表示 0 到 255 的值。 • 如何扩大表示范围?简单,用两个字节合在一起即可,例如: 259 • ... • 11111111-11111110 表示 65534 11111111-11111111 表示 65535 • 这就是两个字节合成了一个字( word ),实际上就是 C 语言里的 unsigned short 类型 。 不同位数的计算机,字( word )的大小也不一样 • 刚刚说把 2 个字节( byte )拼成一个字( word ),实际上是 16 位计算机的做法。0 码力 | 128 页 | 2.95 MB | 1 年前3
Rust 异步并发框架在移动端的应用 - 陈明煜区别于多线程编程模型,它带来以下优势: 任务调度颗粒度更小,充分利用线程资源 更可控的线程数 单个任务资源占用:几十 KB -> 几百 Byte 任务切换时间 : 10 微秒 -> 100 纳秒 Rust 语言并没有提供异步并发框架, 只提供异步所需的基本特性: Future async / await Waker asyn c Future Waker poll Syntax sugar Incompatibility of the third party Runtime with Mobile 现有框架无法完美适配移动端(二) 移动端诉求:易用性 • IO 密集性任务与 CPU 密集型任务融合 异步并发框架如 tokio 大多用于处理大量 异步 IO 场景,而 CPU 密集型任务一般 使用 rayon 。 当前单框架提供的接口无法使用户在一个 任务中同时处理 IO 任务以及 CPU 任 core-affinity IO & CPU 融合 北向接口融合:异步并行迭代器 将 Rayon 并行迭代器异步化 可以对 Rust 常规数据容器生成并行迭代器,对容 器内的数据进行异步并行的操作 Fusion of IO/CPU intensive IO & CPU 融合 Fusion of IO/CPU intensive IO & CPU 融合 Fusion of IO/CPU0 码力 | 25 页 | 1.64 MB | 1 年前3
Rust分布式账务系统 - 胡宇Java 背景, C++ 背景的同事 ● 学习《 rust 程序设计》 ● 1-3 月可以熟练转型使用 Rust Rust 与原有技术栈的融合 ● Kotlin : 偏业务,适合快速迭代 ● Rust :偏基础架构,适合精心打磨 ● gRPC :跨语言跨平台通讯 心路历程 真刀实枪 – 开发调试部署 IDE JetBrains + Rust 插件 Gitlab CI/CD 心路历程 PostgreSQL ( 第三方: https://github.com/sfackler/rust-postgres) ○ Google Cloud Platform(GCP), ● 基于 C 语言的 wrapper ,容易编译出错 心路历程 欢迎加入 Airwallex 联系邮箱: mars.hu@airwallex.com Thank you !0 码力 | 27 页 | 12.60 MB | 1 年前3
C++高性能并行编程与优化 - 课件 - 06 TBB 开启的并行编程之旅件优化,而优化策略都不一样,何谈统一? 黄仁勋回应称:单机上 CPU 的并行,多机上的 CPU 并行,单机单卡 GPU ,单机 多卡 GPU ,每一种要采用的策略都完全不同,表示不看好 oneapi 能统一异构计算 …… 现在流行改名运动? Facebook 改名 Meta ? TBB 改名 OneTBB ? 方便割投资人韭菜? 沙雕因特尔,开源的 TBB 大家都在 用,本来算是你一手好牌,现在被你 one0 码力 | 116 页 | 15.85 MB | 1 年前3
C++高性能并行编程与优化 - 课件 - 15 C++ 系列课:字符与字符串Ctrl+C 输入之 后一次性显示出来的,并不是真的说 Ctrl 就是 ‘ ^’ 这 个字符。 C 语言字符串 第 2 章 C 语言中的字符类型 char • char c = ‘a’; • assert(c == 97); • c = c + 1; • assert(c == ‘b’); • C 语言中规定字符类型为 char 类型,是个 8 位整数。 • 这是因为 ASCII 码只有 0~127 实际上会被编译器翻译成他对应的 ASCII 码: 97 。写 ‘ a’ 和写 (char)97 是完全一样的,方便阅读的语法糖而已。 “char 即整数”思想应用举例 “char 即整数”思想应用举例 C 语言帮手函数 帮手函数大全 • isupper(c) 判断是否为大写字母(‘ A’ <= c && c <= ‘Z’ )。 • islower(c) 判断是否为小写字母(‘ a’ <= c && c tolower(c) 把大写字母转换为小写字母,如果不是则原封不动返回。 帮手函数大全 http://c.biancheng.net/ref/ctype_h/ 关于 char 类型的一个冷知识 • C 语言其实只规定了 unsigned char 是无符号 8 位整数, signed char 是有 符号 8 位整数,而 char 类型只需是 8 位整数即可,可以是有符号也可以 是无符号,任凭编译器决定(0 码力 | 162 页 | 40.20 MB | 1 年前3
C++高性能并行编程与优化 - 课件 - 14 C++ 标准库系列课 - 你所不知道的 set 容器复习 C 语言指针( 1 ) • 上节课说了,迭代器就是在模仿 C 语言指针。 • 回想一下 C 语言咋遍历数组的: • int arr[n]; • for (int i = 0; i < n; i++) { • int value = arr[i]; • } • 循环的范围是 [0, n) 。 • 因为这里 arr[i] 等价于 *(arr + i) ,所以…… 复习 C 语言指针( 2 上节课说了,迭代器就是在模仿 C 语言指针。 • 回想一下 C 语言咋遍历数组的: • int arr[n]; • for (int *p = arr; p < arr + n; p++) { • int value = *p; • } • 索性用 arr + i 作为迭代的变量,避免一次加法的开销。 • 循环的范围变成 [arr, arr + n) 。 复习 C 语言指针( 3 ) • 上节课说了,迭代器就是在模仿 上节课说了,迭代器就是在模仿 C 语言指针。 • 回想一下 C 语言咋遍历数组的: • int arr[n]; • for (int *p = arr; p != arr + n; p++) { • int value = *p; • } • n 总是大于 0 的。 p 的初值 arr 总是小于末值 arr + n ,所以把 p < arr + n 改成 p != arr + n 是一样的,还高0 码力 | 83 页 | 10.23 MB | 1 年前3
C++高性能并行编程与优化 - 课件 - 11 现代 CMake 进阶指南的初始化: LANGUAGES 字段 • project( 项目名 LANGUAGES 使用的语言列表 ...) 指定了该项目使用了哪些编程语言。 • 目前支持的语言包括: • C : C 语言 • CXX : C++ 语言 • ASM :汇编语言 • Fortran :老年人的编程语言 • CUDA :英伟达的 CUDA ( 3.8 版本新增) • OBJC :苹果的 Objective-C 版本新增) • ISPC :一种因特尔的自动 SIMD 编程语言( 3.18 版本新增) • 如果不指定 LANGUAGES ,默认为 C 和 CXX 。 https://cmake.org/cmake/help/latest/command/project.html 常见问题: LANGUAGES 中没有启用 C 语言,但是却用到了 C 语言 解决:改成 project( 项目名 LANGUAGES 也可以先设置 LANGUAGES NONE ,之后再调用 enable_language(CXX) 这样可以把 enable_language 放到 if 语句里,从而只有某些选项开启才启用某语言之类的 设置 C++ 标准: CMAKE_CXX_STANDARD 变量 • CMAKE_CXX_STANDARD 是一个整数,表示要用的 C++ 标准。 • 比如需要 C++17 那就设为 170 码力 | 166 页 | 6.54 MB | 1 年前3
Go读书会第二期Go 读书会第二期 白明 《 Go 语言精进之路》作者 tonybai.com 博主 目 录 写书的历程 0 1 Go 语言精进之路导读 0 2 我是怎么读书的 0 3 写书的历程 第一部分 程序员的“小目标”与写书三要素 写书三要素 写书 <- 能力 +意愿 + 机会 过程 写书不易,写高质量的书更难 2018 年下 旬开始动笔 2020 年 11 月下旬 初稿交付 《 Go 语言精进之路》导读 第二部分 整体写作思路 异曲同工 精进之路,思维先行 – part1 践行哲学,遵循惯例,认清本质,理解原理 - (part2- part10) 精进之路,思维先行 异曲同工 “ 语言决定思维方式” - 萨丕尔假说 “ 我的语言之局限,即我的世界之局限” - 路德维 希 · 维特根斯坦(语言哲学奠基人) “ 不能改变你思维方式的语言,不值得学习” 不能改变你思维方式的语言,不值得学习” - Alan Perlis ( 首届图灵奖得主 ) Part1 - 进入 Go 语言编程思维导引 站在语言设计者的高度理解 Go 的与众不同 Go 诞生 与演进 Go 设计哲 学 Go 编程思 维举例 怎么学习 Go 思维? 学习本质是一种模仿。要学习 Go 思维,就要 去模仿 go 团队、 go 社区的优秀项目和代 码,看看他们怎么做的 践行哲学,遵循惯例,认清本质,理解原理0 码力 | 26 页 | 4.55 MB | 1 年前3
共 24 条
- 1
- 2
- 3













