Taming the C++ Filter View©2024 by josuttis.com 1 C++ Nicolai M. Josuttis josuttis.com @NicoJosuttis Taming the C++ Filter View September 17, 2024 16:45 - 17:45 MDT ©2024 by josuttis.com 2 C++ Nicolai M. Josuttis • Independent Topics: – Systems Architect – Technical Manager – SOA – X and OSF/Motif Nico Josuttis C++ Filter View @cppcon 2024-09-17 1©2024 by josuttis.com 3 C++ Views C++20 ©2024 by josuttis.com 4 C++ C++20: Output: 0 8 15 47 11 42 1 0 1 8 11 15 42 47 C++20 templateNico Josuttis C++ Filter View @cppcon 2024-09-17 2©2024 by josuttis.com 5 C++ C++20: Views void print(const auto& coll) { for 0 码力 | 43 页 | 2.77 MB | 6 月前3
TGT服务器的优化TGT 服务器的优化块设备协议 • NBD • Linux专有块设备协议 • iSCSI • 广泛支持的外部设备协议(块,磁带等)Curve云原生存储支持块设备 • 通过NBD,只支持Linux • 通过SDK API,目前只支持Linux • PFS • 扩大使用范围 • 通过iSCSI支持更多系统,例如Windows, 类UNIX系统等,使用两项基础 技术 • TCP/IP Client端: iscsi initiator,系统自带 • Linux open-iscsi • Windows iSCSI 发起者 • 服务器端 • 必须是CurveBS原生支持的平台,因为需要curve原生接口,目前是LinuxiSCSI target服务器 • LINUX LILO • 一般用于输出内核本地块设备 • TCMU • 作为LILO支持用户态的接口 • 如何评价LILO rve, brpc, c++, protobuf 等) • TCMU多了一层转接,配置过程复杂,业界踩的坑不够多。 • TCMU的用户态代码会受到框架约束,不够灵活。iSCSI target 服务器 • TGT(STGT) • 比较久的历史,原来叫STGT,后来改成TGT • 纯用户态,不与内核绑定 • 支持复杂的存储系统,例如ceph rbd, sheepdog, glfs • 纯C代码,外加一些脚本0 码力 | 15 页 | 637.11 KB | 6 月前3
使用JDBC连接数据库使用JDBC连接数据库 北京理工大学计算机学院 金旭亮 Java数据库应用程序全局视图 Java应用程序 JDBC数据库驱动 (*.jar) JDBC规定了一整套访问数据库的标准API,所有数据库都 需要实现它,因此,使用JDBC访问数据库的Java应用程 序,是很容易切换底层数据库的。 JDBC核心类型一览表 核心类型(java.sql) 说明 DriverManager 负责装载/卸载驱动程序 负责装载/卸载驱动程序 Connection 与数据库建立连接 Statement 在一个给定的连接中执行SQL语句 PreparedStatement 用于执行预编译的SQL命令 CallableStatement 用于调用数据库中存储过程 ResultSet 保存SQL命令的执行结果 上述组件是独立于底层数据库的,也就是说,只要连接上了数据 库,相同的代码,就可以顺利工作…… JDBC访问数据库的基本步骤 加载JDBC驱动程序 创建数据库连接 执行SQL语句 接收并处理SQL的返回结果 关闭创建的各个对象 对于有可视化界面的应用 程序,或者是Server端 应用程序,应该在独立的 线程中完成这些步骤。 出于精简学习负担的目的,我们将以SQLite为例介绍 JDBC的基本使用,在此基础之上,后面选择微软的 SQL Server来介绍JDBC的高级特性…… JDBC连接SQLite数据库 下载SQLite的JDBC驱动-10 码力 | 20 页 | 1.02 MB | 1 年前3
Unraveling string_view: Basics, Benefits, and Best PracticesC++: string_view: Deep dive Jasmine Lopez Prithvi Okade 1Topics • Motivation • Performance benefits & basics • string_view: Constructors, useful functions • string vs. string_view and their interoperability interoperability • When to use string_view • Using string_view safely • Intro to span • span vs. string_view • Case study of an optimization using string_view. 2Motivation • Consider a function foo will end up calling “2”. And the code will miss the niceties of using the string API set. string_view helps in resolving this problem elegantly.Motivation 4 void foo(const std::string& str); void foo(const0 码力 | 61 页 | 1.11 MB | 6 月前3
全连接神经网络实战. pytorch 版全连接神经网络实战 . pytorch 版 Dezeming Family Dezeming Copyright © 2021-10-02 Dezeming Family Copying prohibited All rights reserved. No part of this publication may be reproduced or transmitted in any 讲什么。本书不可避免要 参考 [2] 的讲解方式,但我们对讲解顺序和内容,以及程序代码都做了大量的改进。说了那么多, 总之,我们的目标是写一个最好的最容易上手的 pytorch 入门教程——从全连接网络开始。 书中的示例代码在网站页面可以找到。每节末尾会提示“本节代码见 chapterX.py”。 20211006:完成本书第一版。 5 1. 准备章节 1.1 导入 pytorch 6 ( 0 . 0 , 1) #偏 置 归 0 m. bias . data . zero_ () Chapter 3. 更完善的神经网络 17 注意 bias 是权重,因为当前层的 bias 会连接下一层的每个神经元,所以 bias 的 shape 是下 一层神经元个数。调用也很简单,定义网络对象后直接调用即可: model = NeuralNetwork () . to ( device0 码力 | 29 页 | 1.40 MB | 1 年前3
用Go语言实现推送服务器用Go语言实现推送服务器 陈叶皓 chen.yh@ctrip.com 议程 • 推送服务器介绍 • Golang特点 • 推送服务架构 • 部分代码 • 上线效果 议程 • 推送服务器介绍 • 推送服务架构 • 部分代码 • 上线效果 什么是推送服务器 • 推送业务信息到手机端 • 始终保持连接 推送服务器要求 • 高并发 • 可靠性 • 高性能 • 支持水平扩展 • 无单点故障 无单点故障 Go语言特性 • 静态的、编译的 • 自动内存回收 • 命令式编程 • 函数可以作为值 • 面向并发 • 内置RPC支持 推送服务器要求的应对 • 高并发 – goroutine • 可靠性 – 使用Redis暂存消息 • 高性能 – 静态编译语言 • 支持水平扩展 – 使用RPC组成集群 • 无单点故障 – 使用Redis实现数据共享 Go语言的并发模型 • 事件驱动,共享线程池 包含一 个获取返回值的channel 议程 • 推送服务器介绍 • 推送服务架构 • 部分代码 • 上线效果 逻辑架构 去中心化设计 • 客户端随机连接 • Redis集中存储地址表 • 信息发送2跳到达 消息缓存设计 • 消息预存(Redis) • 尝试发送 • 发送成功后删除 客户端注册时序图 议程 • 推送服务器介绍 • 推送服务架构 • 部分代码 • 上线效果 串行场景-Socket0 码力 | 25 页 | 260.04 KB | 1 年前3
1-Noah-Chen-连接世界的Python社区0 码力 | 24 页 | 2.98 MB | 1 年前3
使用适用于Android 的VMware View ClientVMware View Client 2012 年 9 月 适用于 Android 的 View Client 在本文档被更新的版本替代之前,本文档支持列出的每个产 品的版本和所有后续版本。要查看本文档的更新版本,请访 问 http://www.vmware.com/cn/support/pubs。 ZH_CN-000667-04 使用适用于 Android 的 VMware View Client VMware View Client 5 适用于 Android 的 View Client 的设置和安装 5 适用于 Android 的 View Client 的系统要求 6 准备适用于 View Client 的 View 连接服务器 6 使用嵌入式 RSA SecurID 软件令牌 7 支持的 View 桌面操作系统 8 安装或升级适用于 Android 的 View Client Client 8 使用 URI 配置 View Client 8 用于创建 vmware-view URI 的语法 9 vmware-view URI 示例 10 管理服务器连接和桌面 11 首次登录 View 桌面 12 View Client 的证书检查模式 13 在主屏幕上创建桌面快捷方式 13 管理保存的服务器列表 14 从 View 桌面断开连接 14 从桌面中注销 14 回滚桌面0 码力 | 24 页 | 889.72 KB | 1 年前3
适用于Mac的View Client 2012 年 9 月的 VMware View Client 2012 年 9 月 适用于 Mac 的 View Client 在本文档被更新的版本替代之前,本文档支持列出的每个产 品的版本和所有后续版本。要查看本文档的更新版本,请访 问 http://www.vmware.com/cn/support/pubs。 ZH_CN-000668-04 使用适用于 Mac 的 VMware View Client 2 使用适用于 Mac 的 VMware View Client 5 设置和安装 5 Mac 客户端的系统要求 6 支持的 View 桌面操作系统 6 准备适用于 View Client 的 View 连接服务器 6 在 Mac OS X 上安装 View Client 7 使用 View Portal 安装 View Client 7 将 VMware View Client 添加到 Dock 为最终用户配置证书检查 8 使用 URI 配置 View Client 8 用于创建 vmware-view URI 的语法 9 vmware-view URI 示例 10 管理服务器连接和桌面 11 首次登录 View 桌面 12 View Client 的证书检查模式 13 切换桌面 14 断开桌面或从桌面注销 14 从主屏幕移除 View 服务器的快捷方式 15 回滚桌面 15 在0 码力 | 20 页 | 823.40 KB | 1 年前3
Golang在接入层长连接服务中的实践-黄欣Golang 在接入层长连接服务中的实践 黄欣 基础平台-架构部 目录 • 背景 • 架构 • 心得 目录 • 架构 • 心得 背景—why 长连接? • 业务场景 – 大量实时计算 • 司机乘客撮合 • 实时计价 – 高频度的数据交互 • 坐标数据 • 计价数据 – App和服务端双向可达 • 上行(抢单) • 下行(派单) 背景—why golang? • 开发效率 rsp || nil So easy, So efficient 心得—coding—实现 • what’s diff? – conn svr • 常驻内存,内存中有个大连接对象map(资源问题) • 请求都是基于连接的(如果模块间存在资源的互相引用,当资源变更的情况 下,容易发生panic)(竟态问题) • 对象编程 – 封装:conn资源(包括goruntine)作为结构体封装起来,保证所有资源 statusLoop() 心得—profiling • Timer优化 • Channel使用优化 心得—timer优化 • 为什么需要优化? – 万级别的连接 – 每个连接上大量的定时任务(心跳检测,注册检测,认证检测) 实际情况:当10w左右连接,什么数据不收发,只有定时器检测心跳超时,cpu 能耗掉一个core • 怎么优化? – 特点: • 秒级别定时任务 • 范围最多60s – 方案:0 码力 | 31 页 | 1.67 MB | 1 年前3
共 1000 条
- 1
- 2
- 3
- 4
- 5
- 6
- 100













