Vue声明式编程## V ue声明式编程 ## 摘要 • 声明式与图灵完备性 • 声明式与UI编程的演进 • 声明式与UI架构 • 声明式与交互 ## 声明式与图灵完备性 ## 声明式 • 我们对语言有很多划分的维度 • 声明式 vs 命令式 • 声明式语言:HTML XML CSS SQL • 命令式语言:C++ Java JavaScript ## 图灵完备性 · 图灵完备:“可计算性” 图灵完备:“可计算性” • 命令式的图灵完备性:if/for, if/goto • 声明式的图灵完备性:if/递归 ## V ue的Template的图灵完备性 • 实际上Vue的组件系统具有图灵完备性 • 使用Vue计算阶乘 • 使用Vue计算斐波那契数列 ## 声明式与UI编程 ## UI编程 • 70年代 MVC诞生 人们意识到视图应该被独立抽象 • 80年代 标记语言大热 最初更与文本相关 • “HTML5” ## 声明式优势 • 可视化的“可逆性” • 声明式与可再绑定性 • 听说近年某框架把html和css塞回JS了? ## 可重复绑定性 • recycle-list ## 声明式与UI架构 ## MVVM • MVC => MVP => MVVM —脉相承的演化 • MVVM是为声明式/多语言量身定做的编程模型 ## MVVM的数据绑定 • 数据绑定是声明式的数据与UI通讯0 码力 | 19 页 | 155.76 KB | 2 年前3
MoonBit月兔编程语言 现代编程思想 第三课 函数, 列表与递归现代编程思想 # 函数, 列表与递归 Hongbo Zhang 基本数据类型:函数 ## 函数 - 在数学上,描述对应关系的一种特殊集合。对于特定的输入,总是有特定的输出 - 在计算机中,对相同运算的抽象,避免大量重复定义 ○ 计算半径为1的圆的面积: $ 3.1415 \times 1 \times 1 $ ○ 计算半径为2的圆的面积: $ 3.1415 \times 2 \times 计算半径为3的圆的面积: $ 3.1415 \times 3 \times 3 $ ○ ..... fn 面积(半径: Double) -> Double { 3.1415 * 半径 * 半径 } ## 函数 • 计算半径为1、2、3的圆的面积: 1. let surface_r_1: Double = { let r = 1.0; pi * r * r } 2. let surface_r_2: Double surface_r_2, surface_r_3) • 使用函数后 1. fn area(radius: Double) -> Double { pi * radius * radius } 2. let result = (area(1.0), area(2.0), area(3.0)) ## 顶层函数的定义 fn <函数名>(<参数名>:<类型>,&0 码力 | 42 页 | 587.59 KB | 2 年前3
MoonBit月兔编程语言 现代编程思想 第六课 泛型与高阶函数现代编程思想 # 泛型与高阶函数 Hongbo Zhang ## 设计良好的抽象 - 软件工程中,我们要设计良好的抽象 - 当代码多次重复出现 ☐ 当抽出的逻辑具有合适的语义 - 编程语言为我们提供了各种抽象的手段 - 函数、泛型、高阶函数、接口..... ## 泛型函数与泛型数据 ## 堆栈 - 栈是一个由一系列对象组成的一个集合,这些对象的插入和删除遵循后进先出原则(Last ## • 我们希望存储很多很多类型在堆栈中 ☐ 每个类型都要定义一个对应的堆栈吗? ☐ IntStack 和 StringStack 似乎结构一模一样? ## 泛型数据结构与泛型函数 ## - 泛型数据结构与泛型函数以类型为参数,构建更抽象的结构 1. enum Stack[T] { 2. Empty 3. NonEmpty(T, Stack[T]) 4. } 5. fn Stack::empty[T]() => (Some(top), rest) 11. } 12. } • 将 T 替换为 Int 或 String 即相当于 IntStack 与 StringStack ## 泛型数据结构与泛型函数 • 我们用 <类型1>,<类型2>, $ \ldots $ 来定义泛型的类型参数 enum Stack[T]{ Empty; NonEmpty(T, Stack[T])0 码力 | 27 页 | 2.56 MB | 2 年前3
MoonBit月兔编程语言 现代编程思想 第七课 命令式编程:命令,可变数据结构,循环现代编程思想 命令式编程 Hongbo Zhang ## 函数式编程 - 到此为止,我们介绍的可以归类于函数式编程的范畴 - 对每一个输入,有着固定的输出 对于标识符,我们可以直接用它所对应的值进行替代——引用透明性 • 开发实用的程序,我们需要一些计算之外的“副作用” ☐ 进行输入输出 ☐ 修改内存中的数据等 ☐ 这些副作用可能导致多次执行的结果不一致 ## 引用透明性 我们可以定义如下数据绑定和函数 1. let x: Int = 1 + 1 2. fn square(x: Int) -> Int { x * x } 3. let z: Int = square(x) // 4 • 我们可以将 square 与 x 直接用对应的值替换而不改变结果 1. let z: Int = { 2 * 2 } // 4 - 引用透明性可以易于理解 ## 命令 - 函数 print moonbit") - 月兔中可以通过 init 代码块来定义初始化指令。可以简单理解为程序主入口 1. fn init { 2. println("hello moonbit") // 函数名中的ln代表换行 3. } PROBLEMS OUTPUT TERMINAL Output ✓ ✗ ☐ ^ X [INFO] ———— Compilation Statistics ———— [INFO]0 码力 | 23 页 | 780.46 KB | 2 年前3
Go Web编程## 《Go Web 编程》 因为自己对Web开发比较感兴趣,所以最近抽空在写一本开源的书籍《Go Web编程》《Build Web Application with Golang》。写这本书不表示我能力很强,而是我愿意分享,和大家一起分享Go写Web应用的一些东西。 - 对于从PHP/Python/Ruby转过来的同学了解Go怎么写Web应用开发的 对于从C/C++转过来的同学了解Web到底是怎么运行起来的 这样读者就可以把相应的Markdown文件编译成html文件,执行go build build.go,执行生成的文件,就会在底目录下生成相应的html文件 ## 交流 欢迎大家加入QQ群:259316004《Go Web编程》专用交流群 大家有问题还可以上德问上一起交流学习:http://www.dewen.org/topic/165 ## 致谢 首先要感谢Golang-China的QQ群102319854,里面 - 1.4. Go开发工具 - 1.5. 小结 2. Go语言基础 - 2.1. 你好,Go - 2.2. Go基础 - 2.3. 流程和函数 - 2.4. struct - 2.5. 面向对象 - 2.6. interface - 2.7. 并发 - 2.8. 小结 30 码力 | 295 页 | 5.91 MB | 2 年前3
深度学习与PyTorch入门实战 - 18.1 激活函数梯度## PyTorch ## 激活函数及其梯度 主讲人:龙良曲 ## Activation Functions  PITTS WITH LETTVIN: Pitts with Jerome Lettvin and one subject0 码力 | 14 页 | 724.00 KB | 2 年前3
常见函数梯度## PyTorch ## 常见函数梯度 主讲人:龙良曲 ## Common Functions |Common Functions|Function|Derivative| |---|---|---| |Constant|c|0| |Line|x|1| ||ax|a| |Square|$ x^{2} $|2x| |Square Root|$ \\sqrt{x} $|$ (\\frac{1 w^{2}+b^{2} $$ $$ xe^{w}+e^{b} $$ $$ [y-(xw+b)]^{2} $$ $$ \mathbf{y}\log(x w+b) $$ ## 下一课时 什么是激活函数 ## Thank You0 码力 | 9 页 | 282.15 KB | 2 年前3
函数计算在双11小程序场景中的应用## 函数计算在双11小程序场景中的应用  吴天龙 阿里云函数计算技术专家  PPT ## 自我介绍 • 吴天龙(花名:木吴) · 阿里云函数计算技术专家 - 2013 年加入阿里云,参与分布式数据库,对象存储等产品的开发。现任阿里云函数计算架构师,聚焦于 Serverless 产品功能在大规模资源伸缩调度、性能优化等系统核心能力的研发。 ## 目录 ✿ 函数计算介绍 技术挑战 ✿ Demo ## 函数计算-介绍 - 通用Serverless计算平台 · 与云端事件源无缝集成 /7/1817bd4d19cae2c9c62d57f47d0f801d/p4_5.jpg) 石墨文档 | 文档实时协同办公-石墨文档 ## 函数计算-介绍 函数计算组件 CLI/SDK/Web Console 依赖的阿里云服务 创建/删除函数 请求调用 负载均衡 同步请求调用 异步请求调用 控制类操作 对象存储(代码)  ## 极客时间 极客时间是数字人才的专属学习空间,有近 200+ 体系课和 1400+ 技术视频。为学员提供系统化、场景化、工具化和游戏化的学习服务 /3/c473a090d8d00d0b59d72dafe4494546/p6_3.jpg) ## 边缘架构 可在边缘直接对数据进行相关的计算(处理/存储)并提供相应的查询功能 ## 一 种分布式计算架构 ## 边缘架构 构成边缘计算架构的核心 ## 物联网设备的纽带  HPMQ是基于Rust语言开发的下一代可编程边缘分布式MQTT软件,主要有以下几个核心特性: • Geo–Distributed • 可编程性 • 云边一体化 • 兼容异构设备 ## Why Rust? • 性能(C/C++/Rust) • 开发效率 (Rust/Golang/Java)0 码力 | 31 页 | 3.95 MB | 2 年前3
Functional Programming - 包涵卿## SWIFT 函数式编程 实践 ## @HANKBAO 瀑布IM  ## WHAT Functional programming is a programming paradigm 1. treats computation as the0 码力 | 38 页 | 1.33 MB | 2 年前3
共 1000 条
- 1
- 2
- 3
- 4
- 5
- 6
- 100













