Pipes: How Plumbing Can Make Your C++ Code More Expressivepipes::stride pipes::partition pipes::tee pipes::tap21 pipes::transform INSIDE A PIPE22 BRANCHING OUT push_back results23 BRANCHING OUT push_back results tee push_back intermediaryResultspush_back _back intermediaryResults push_back results 24 tee auto const inputs = std::vector{1, 2, 3, 4, 5, 6}; auto intermediaryResults = std::vector {}; auto results = std::vector {}; inputs }) >>= pipes::tee(pipes::push_back(intermediaryResults)) >>= pipes::filter([](int i){ return i % 3 == 0; }) >>= pipes::push_back(results);68 10 12 25 tee auto const inputs = std::vector {1 0 码力 | 61 页 | 9.52 MB | 6 月前3
24-云原生中间件之道-高磊Virtualization Servers Storage NetWorking PaaS 硬件与虚拟化厂商提供,如果是HCI架构, 作为总体集成方,会降低安全集成成本 可信计算环境:OS安全、TPM加密、TEE可信环境 云原生安全:镜像安全、镜像仓库安全、容器加固隔离、通信零信任 (Istio零信任、Calico零信任、Cilium零信任、WorkLoad鉴权、WorkLoad 间授权等)、DevSec 数据的安全生命周期返程三种不同状态:存储中、传输中、使用中,但 是对第三种场景,一直以来缺少保护手段。通过加密技术建立的可信运 行环境TEE(比如IntelSGX,蚂蚁的KubeTEE等)可以保护运行中的数据和 代码,完成了安全闭环。 依赖于硬件和更高阶密码学,可以彻底阻断物理 设备以及软件的攻击,是高级的安全保障技术。 TEE是运行态主动防护的高级手段,对高安全生产 环境建议使用。 成本较高,所以要视业务场景要求取舍。 Mesh零信任 所以云原生数据的安全是要实现“可用但不可见”的能力。 • 可信执行环境(TEE)采用Intel SGX技术实现的密文数据上的计算操作,TEE 中的内存是受保护的,用户查询语句在客户端应用加密后发送给云数据库, 云数据库执行检索操作时进入TEE环境,拿到的结果是密文状态,然后返 回给客户端,数据面从传输、计算到存储全链条都是处于加密的,只有可 信执行环境内才进行明文计算。 • SSL+TDE+TEE=E2E云原生数据库安全方案。 RDMA0 码力 | 22 页 | 4.39 MB | 6 月前3
Back to Basics: The structure of a Programcan use the –E flag: $ g++ -std=c++20 -E main.cpp | egrep -v '#' | tee main.i $ g++ -std=c++20 -E hello.cpp | egrep -v '#' | tee hello.i • How many lines in main.i? hello.i? • 41,625 / 41,624 {with0 码力 | 64 页 | 390.34 KB | 6 月前3
Back to Basics: Templates - Part 1can use the –E flag: $ g++ -std=c++20 -E main.cpp | egrep -v '#' | tee main.i $ g++ -std=c++20 -E hello.cpp | egrep -v '#' | tee hello.i • How many lines in main.i? hello.i? • 41,625 / 41,624 {with0 码力 | 68 页 | 436.75 KB | 6 月前3
Concurrency Patterns in CEngineer @Nord SecurityFan-out 🌱 Pipeline 🤔 Fan-in, Fan-out, Pipeline 🦾 Agenda Fan-in 🌱 Tee 🌱 1. 2. 3. 4. 5.Why learn these patterns?Fan-inFan-in Pros - Simplifies aggregation - Enhanced0 码力 | 20 页 | 1.35 MB | 6 月前3
Back to Basics: Move Semanticsuniversallforwarding references when passed by reference Better: templatevoid printElems (TEE coll) or void printElems (autog& coll) template void Print(const TS coll) { for (const 0 码力 | 23 页 | 1020.10 KB | 6 月前3
Python 标准库参考指南 2.7.18 starmap() func, seq func(*seq[0]), func(*seq[1]), ⋯ starmap(pow, [(2,5), (3,2), (10, 3)]) --> 32 9 1000 tee() it, n it1, it2, ⋯itn 将一个迭代器拆 分为 n 个迭代器 takewhile()pred, seq seq[0], seq[1], ⋯, 直到 pred 真值测试失败 takewhile(lambda predicate(x): yield x else: break itertools.tee(iterable[, n=2]) Return n independent iterators from a single iterable. Roughly equivalent to: def tee(iterable, n=2): it = iter(iterable) deques = [collections popleft() return tuple(gen(d) for d in deques) 一旦tee() 实施了一次分裂,原有的 iterable 不应再被使用;否则 tee 对象无法得知 iterable 可能已向后 迭代。 tee 迭 代 器 不 是 线 程 安 全 的。 当 同 时 使 用 由 同 一 个tee() 调 用 所 返 回 的 迭 代 器 时 可 能 引 发RuntimeError,即使原本的0 码力 | 1552 页 | 7.42 MB | 9 月前3
Python 标准库参考指南 2.7.18 starmap() func, seq func(*seq[0]), func(*seq[1]), ⋯ starmap(pow, [(2,5), (3,2), (10, 3)]) --> 32 9 1000 tee() it, n it1, it2, ⋯itn 将一个迭代器拆 分为 n 个迭代器 takewhile()pred, seq seq[0], seq[1], ⋯, 直到 pred 真值测试失败 takewhile(lambda predicate(x): yield x else: break itertools.tee(iterable[, n=2]) Return n independent iterators from a single iterable. Roughly equivalent to: def tee(iterable, n=2): it = iter(iterable) deques = [collections popleft() return tuple(gen(d) for d in deques) 一旦tee() 实施了一次分裂,原有的 iterable 不应再被使用;否则 tee 对象无法得知 iterable 可能已向后 迭代。 tee 迭 代 器 不 是 线 程 安 全 的。 当 同 时 使 用 由 同 一 个tee() 调 用 所 返 回 的 迭 代 器 时 可 能 引 发RuntimeError,即使原本的0 码力 | 1552 页 | 7.42 MB | 9 月前3
Python 标准库参考指南 2.7.18 starmap() func, seq func(*seq[0]), func(*seq[1]), ⋯ starmap(pow, [(2,5), (3,2), (10, 3)]) --> 32 9 1000 tee() it, n it1, it2, ⋯itn 将一个迭代器拆 分为 n 个迭代器 takewhile()pred, seq seq[0], seq[1], ⋯, 直到 pred 真值测试失败 takewhile(lambda predicate(x): yield x else: break itertools.tee(iterable[, n=2]) Return n independent iterators from a single iterable. Roughly equivalent to: def tee(iterable, n=2): it = iter(iterable) deques = [collections popleft() return tuple(gen(d) for d in deques) 一旦tee() 实施了一次分裂,原有的 iterable 不应再被使用;否则 tee 对象无法得知 iterable 可能已向后 迭代。 tee 迭 代 器 不 是 线 程 安 全 的。 当 同 时 使 用 由 同 一 个tee() 调 用 所 返 回 的 迭 代 器 时 可 能 引 发RuntimeError,即使原本的0 码力 | 1552 页 | 7.42 MB | 9 月前3
Python 标准库参考指南 3.13 takewhile() predicate, seq seq[0], seq[1], 直到 predi- cate 未通过 takewhile(lambda x: x<5, [1,4, 6,3,8]) → 1 4 tee() it, n it1, it2, ... itn 将一个迭代器 拆分为 n 个迭代器 zip_longest() p, q, ... (p[0], q[0]), (p[1], q[1]), . before_and_after()。 itertools.tee(iterable, n=2) 从一个可迭代对象中返回 n 个独立的迭代器。 大致相当于: def tee(iterable, n=2): if n < 0: raise ValueError if n == 0: return () iterator = _tee(iterable) result = [iterator] for _ in range(n - 1): result.append(_tee(iterator)) return tuple(result) class _tee: def __init__(self, iterable): it = iter(iterable) if isinstance(it, _tee): self.iterator = it.iterator self.link0 码力 | 2246 页 | 11.74 MB | 9 月前3
共 57 条
- 1
- 2
- 3
- 4
- 5
- 6













