⽤ egg 孵化你的 SQL 优化器 - 王润基## RUST CHINA CONF 2023 第三届中国Rust开发者大会 6.17-6.18 @Shanghai ## 用 egg 孵化你的 SQL 优化器 王润基 RisingWave 内核开发工程师 ## RisingLight ## An Educational OLAP Database System ## RisingLight 查询引擎的整体结构  ways to write $ (a \times 2) / 2 $ . egg makes e-graphs fast and flexible enough for use in program optimization and synthesis. The core egg library provides high-performance, flexible e-graphs0 码力 | 39 页 | 6.48 MB | 2 年前3
Egg & Node.js 从⼩⼯坊⾛向企业级开发### Egg & Node.js 从小工坊走向企业级开发 天猫 / 阿里游戏前端负责人,Egg 核心开发者 ## 自我简介  天猪 阿里游戏前端负责人,@广州 @Alibaba UC Node.JS / EggJS / Scrat 一线开发者 基于上层框架开发的应用 适合特定团队业务场景的上层框架 Framework 团队架构师 蚂蚁 Chair UC Nut aliyun-egg Plugin 插件生态 Tool 工具链 基于规范实现一套框架 - Egg 社区生态 Specification 一套规范和约定 Koa Node.js ### Base on Node.js [1/8] ## 你是否遇到过 研发效率 安全 部署体系 一个大规模团队的基础框架 最重要的是需要遵循一定的约束和约定。 ## QuickLook ## [4/8] $ npm install -g egg-init $ egg-init showcase --type=simple $ cd showcase && npm install $ npm run dev $ curl localhost:70010 码力 | 70 页 | 7.57 MB | 2 年前3
Egg.js 在阿里巴巴集团的的实践运用7/p1_3.jpg) ## 从刀耕火种,铁犁牛耕,迈向机械化生产 Egg.js 在阿里巴巴集团的实践运用 egg ## 关于我  庄少/ngot Egg.js 核心开发者;fibjs 核心开发者; Follow me at : 79576ec7/p9_1.jpg) ## 天下归一 联合整个公司制定 Node.js 企业级的开发标准 基于标准规范开发对应的 Web 框架(Egg.js) 开源回馈社区 ### Egg.js 为企业级框架和应用而生 ## 🌱 egg ## express vs koa 基于 Generator/Async 的中间件(同步写法更适合企业应用) 核心精简(req/res/ctx),易于扩展 易用的框架,丰富的库,能够快速搞定业务才是王道 ## 架构师 降低团队成员学习门槛,基础组件沉淀复用,公司内部生态建设,打通开源社区 ## 设计原则 追求规范和共建 ✓ 微内核,可扩展 约定优于配置 ### Egg.js 项目一览 showcase app controller(控制器) home.js service(业务逻辑) github.js view(模板) index.tpl public(静态资源)0 码力 | 29 页 | 2.39 MB | 2 年前3
TypeScript 多场景设计方案及应用实践
Why is Midway by TypeScript ## Egg 是个好框架 Egg 有自己解决的东西 Midway 解决的痛点不同,不是非常适合我们的情况 ## T ## 定位不同 在内部体系中,Egg作为底层框架,不直接使用 ## 场景不同 Egg 解决的是 BFF 场景,而淘宝有不少全栈场景 ## 场景不同 Egg 解决的是 BFF 场景,而淘宝有不少全栈场景除了明确意义的 controller ## 场景不同 子目录缺乏支持 Egg 解决的是 BFF 场景,而淘宝有不少全栈场景 ## T ## 体验不同 我们希望引入 TypeScript 原生的体验 src app.ts app.js app.d.ts app.js.map ## 体验不同 Egg 解决的是 BFF 场景,而淘宝有不少全栈场景 js/ts 目录混合 ## 体验不同 Egg 解决的是 BFF 场景,而淘宝有不少全栈场景 require('egg').Controller; class PostController extends Controller { async create() { // TODO } } module.exports = PostController; class 用法,无法多继承 ## 体验不同 Egg 解决的是 BFF 场景,而淘宝有不少全栈场景0 码力 | 95 页 | 8.28 MB | 2 年前3
Rust算法教程 The Algos (algorithms)5)); } ## 扔鸡蛋(Egg dropping) /// # Egg Dropping Puzzle /// `egg_drop(eggs, floors)` returns the least number of egg droppings /// required to determine the highest floor from which an egg will not /// break break upon dropping /// /// Assumptions: n > 0 pub fn egg_drop(eggs: u32, floors: u32) -> u32 { assert!(eggs > 0); // Explicitly handle edge cases (optional) if eggs == 1 || floors solutions to subproblems in 2D Vec, // where egg_drops[i][j] represents the solution to the egg dropping // problem with i eggs and j floors let mut egg_drops: Vec> = vec 这是一个叫古明地觉的应用,开启了 egg-niubility。 app2 老夫从来 这是第2 app4 @2.7.2 debug @2.6.9 byte @2.0.0 debug @3.2.6 chair @1.5.35 chair-utils @1.22.3 debug @2.6.9 egg-oss @1.1.0 ali-oss @4.15.1 debug @2.6.9 ioredis @4.9.0 debug @3.2.6 urllib @2.33.3 debug @2.6 ## 4 启动数据 我要关心启动时的哪些数据?以 Egg.js 为例。 ## 最终的脱敏配置信息 ## ○○○ "tmpdir": "/var/folders/cm/wp6jbv3n7kxfh1__qq_354wm0000gn", "cleanSchedule": { ### Egg.js 启动时最终合并出来的 config 信息 ./0 码力 | 47 页 | 5.80 MB | 2 年前3
waitress Documentation v1.1.0There’s an entry point for PasteDeploy. (egg:waitress#main) that lets you use Waitress’s WSGI gateway from a configuration file, e.g.: [server:main] use = egg:waitress#main listen = 127.0.0.1:8080 Using 0.1 port = 8080 The PasteDeploy syntax for UNIX domain sockets is analogous: [server:main] use = egg:waitress#main unix_socket = /path/to/unix.sock You can find more settings to tweak (arguments to waitress configuration: [app:myapp] use = egg:mypackage#myapp [filter:paste_prefix] use = egg:PasteDeploy#prefix [pipeline:main] pipeline = paste_prefix myapp [server:main] use = egg:waitress#main listen = 127.00 码力 | 36 页 | 41.63 KB | 1 年前3
Scrapy 0.16 Documentationads ☐ zope.interface: download the egg from zope.interface pypi.page [http://pypi.python.org/pypi/zope.interface] and install it by running easy_install file.egg lxml: http://pypi.python.org/pypi/lxml/ Deploying your project into a Scrapyd server typically involves two steps: 1. building a Python egg [http://peak.telecommunity.com/DevCenter/PythonEggs] of your project. This is called “eggifying” your this. See Egg caveats below. 2. uploading the egg to the Scrapyd server The simplest way to deploy your project is by using the deploy command, which automates the process of building the egg uploading0 码力 | 272 页 | 522.10 KB | 2 年前3
IMWebConf 2017 前端开发者大会13:30 Node.js会场  Egg&Node.js 从小工坊走向企业级开发 14:50 - 15:30 TSW抓包原理解析 16:30 - 17:10 












