CS 36CWinter 2024 Homework 2

封装CTP API为Java SDK 本文介绍了在Windows环境下使用Java调用CTP API的编译实现过程。首先需要准备CTP API SDK、JDK、SWIG和Visual Studio等工具,配置好开发环境。然后通过搭建目录结构、编写SWIG接口文件ctp.i,实现C++到Java的代码转换。文中详细说明了文件目录组织方式,并提供了处理中文乱码的代码示例。通过这一系列步骤,最终将CTP的C++接口转换为Java可调用的形式,为Java项目获取期货实时报价数据提供支持。 阅读详情

CS 36CWinter 2024 Homework 2:
A Dynamically Sized Array
This project has you writing a significant implementation of a dynamically sized array. This
assignment is due on January 30th at 1400 PST (6:00 pm Davis time). You must work on this
assignment individually. We have provided you a rich skeleton project in Homework2.zip
available from Canvas which includes a full Gradle and IntelliJ environment, a couple of
non-trivial test functions, and the DynamicArray.ks and DynamicArrayTest.ks files you
need to extend to implement the project.
Expected Project Outcomes

  1. Implement the major Dynamic Array functionality including appending on either end,
    insertion, accessing of arbitrary elements, iterations, and higher order procedures
  2. Implement a comprehensive test suite for your Dynamic Array implementation
    Implementation and Grading
    You should implement the specified function in DynamicArray.ks. These are:

DynamicArrayIterator.computeNext() : Unit
DynamicArray.append(item: T) : Unit
DynamicArray.prepend(item: T) : Unit
DynamicArray.get(index: Int) : T
DynamicArray.set(index: Int, item: T) : Unit
DynamicArray.insertAt(index: Int, item: T) : Unit
DynamicArray.removeAt(index: Int, item: T) : T
DynamicArray.indexOf(item: T): Int
9. DynamicArray.fold(initial: R, operation: (R, T)-> R) : R
10. DynamicArray.map(operation: (T)->R): DynamicArray
11. DynamicArray.mapInPlace(operation: (T)->T): DynamicArray
12. DynamicArray.filter(operation: (T)-> Boolean):
DynamicArray
13. DynamicArray.filterInPlace(op: (T)-> Boolean):
DynamicArray
You should also implement test functions in DynamicArrayTest.ks for all these functions.
For grading on Gradescope you will submit your DynamicArray.ks file. Your
DynamicArray.ks file will be combined with our own tests to grade your DynamicArray code.
This time we are not grading your test cases, because your test cases should be very similar to
those in the Linked List homework 1.
In fact, it is strongly advised that you start by simply copying large portions of your Linked List
test code into the DynamicArrayTest.ks file, replacing every LinkedList reference with a
DynamicArray reference, and try to run the test file. Once the test file compiles, only then
should you start coding in the DynamicArray.ks file itself.
This should encourage what is known as “red to green” development. Once you have the test
cases they show up in red when they don’t work, and as you code you rerun your tests until they
pass.
All functions should be linear time except that prepend and append should be (amortized)
constant time, and insertion and deletion from the front and back should also be constant time,
resulting in push, pushLeft, pop, and popLeft all being constant time operations. We have
included a test-case demonstrating how we evaluate performance: it first does 1000 calls to
append and then does 100,000, ensuring that the latter is not significantly greater than 100
times the former.

WhatsApp API接口的隐秘角落:从协议解析到自定义消息引擎 本文深入解析WhatsApp API接口的隐秘角落,从协议逆向工程到自定义消息引擎开发实战。通过分析WhatsApp的二进制XML协议和加密机制,构建超越官方API限制的自定义消息引擎,实现高效、灵活的即时通讯解决方案。文章还提供了企业级架构设计和风控规避策略,助力开发者突破官方限制,提升消息到达率和成本效益。 阅读详情

相关推荐

Unity游戏开发客户端面经——网络(初级)

Unity游戏开发客户端面经 之 网络 篇

Sea3752的博客 1万+

CS 36CWinter 2024 Homework 1

CS 36CWinter 2024 Homework 1

todcode的博客 606

Dr_can Kalman Filter学习笔记(一)

本文是在b站Dr_can的卡尔曼滤波课程学习过程中的学习笔记

苏大侠的博客 1051

CS 36CWinter 2024 Homework 3

CS 36CWinter 2024 Homework 3

todcode的博客 324

手把手教学,Python 游戏编程之实现飞机大战(含源代码)

我想大家都是有玩过类似飞机大战的射击类游戏,也享受目标被消除通过后带来的愉悦感。那么如果用Python来实现飞机大战游戏?下面就跟大家一起用Python来做一个小游戏,不仅可以从中感受到乐趣,还可以提升自己的能力。

veratata的博客 1万+

机器学习入门指南:Jupyter Notebook实战

对于机器学习工程师而言,他们更擅长的是算法、模型、数据探索的工作,而对于工程化的能力则并不是其擅长的工作。Jupyter Notebook生成PMML文件1​​​​​​​。Jupyter Notebook生成PMML文件2​​​​​​​。PySpark Notebook建模 -折线图​​​​​​​。TensorFlowNotebook建模​​​​​​​。R Notebook建模 - 散点图​​​​​​​。PySpark Notebook建模​​​​​​​。R Notebook获取训练数据集​​​​​​​。

datacreating的博客 1975

给Agent写测试-工具调用的回归怎么保

本文提出“测行为不测文字”的三层测试防线,解决 Agent 工具调用回归难题:第一层工具单测(纯函数);第二层循环集成测,通过 mock 模型断言工具调用、参数与回填的正确性;第三层评测集,固定问答对对比行为快照。代码演示了最小可运行测试,强调断言行为而非模型输出,确保提示词改动可安全合并。

D_ENG_F的博客 211

DeepSeek绝了!3分钟生成PPT,专治“五彩斑斓的黑“!!(保姆教程)

DeepSeek绝了!3分钟生成PPT,专治"五彩斑斓的黑"!!(保姆教程)

yizhen91y的博客 4万+

Kotlin中级——Coroutine exceptions handling

当协程用作根协程时。

松仔Log的博客 224

结构力学本构模型:复合材料模型:复合材料热力学行为技术教程_2024-08-07_06-54-53.Tex

热塑性复合材料是一种由热塑性树脂基体和增强纤维组成的复合材料。与热固性复合材料不同,热塑性复合材料在加热时可以软化,冷却时硬化,这一过程可以重复进行,因此它们具有可回收和可再加工的特性。热塑性树脂,如聚酰胺(尼龙)、聚碳酸酯、聚醚醚酮(PEEK)等,与碳纤维、玻璃纤维等增强材料结合,可以制备出具有高强度、高刚度和良好耐热性的复合材料。热粘弹性理论是研究材料在温度变化和时间依赖性载荷作用下的变形和应力响应。复合材料,由于其独特的微观结构,展现出复杂的热粘弹性行为。

808

Microsemi Libero使用技巧11——CoreUARTAPB RX管脚分配时不显示

调用串口IP核CoreUARTAPB,并例化到顶层设计,发现UART_RX管脚在进行管脚分配时没有显示出来,最后发现是CoreAPB3总线IP核配置不对导致,改为如下配置后正常。

whik1194的博客 757

Kotlin——Shared mutable state and concurrency

当使用多个协程操作变量,且未进行同步时,并不能得到正确的值。

松仔Log的博客 335

CH7034B显示模块原理图设计,已量产

显示桥接板的价值,不在于简单把 RGB 排线换成另一种接口,而在于能否把并行视频、时钟、显示控制、模拟输出和辅助配置同时组织成稳定系统。当前这张 CH7034B 原理图就是这种思路:U3 CH7034B 作为核心桥接芯片,输入侧是 LCD_R0~R7、LCD_G0~G7、LCD_B0~B7、LCD_DE、LCD_HSYNC、LCD_VSYNC、LCD_CLK 与 LCD_BL,输出侧则通过 DAC0~DAC2 和 DDC_SC/DDC_SD 形成模拟显示接口边界。

不脱发的程序猿 161

Android 开发入门实践(二):Kotlin 空安全,从可空类型到安全访问

延续 NewsApp 项目中的新闻标题练习,记录 Kotlin 安全调用。

Easyhood的博客 286

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

Android 开发入门实践(五):从 Kotlin 类与对象到新闻数据模型

本文记录了在NewsApp项目中学习Kotlin类与对象的全过程:从声明空类、创建对象,到添加属性、使用构造函数与默认参数,最终通过data class和copy()实现新闻数据模型的构建。重点区分了类与对象、参数与属性的概念,掌握了修改原对象与复制新对象的区别,并将新闻列表接入Jetpack Compose显示标题,深化了对数据封装与可变性的理解。

Easyhood的博客 224

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

kotlin中闭包特性

Kotlin 闭包允许函数捕获并修改外部作用域的变量,通过 Ref 包装类实现,比 Java 的“仅读取 final 变量”更灵活。闭包是函数式编程(如柯里化、高阶函数)的基础,但修改捕获变量不保证线程安全,需手动同步(如 Mutex、Atomic)。Java 限制修改捕获变量以避免并发陷阱,而 Kotlin 将选择权交予开发者:语法自由,责任自担。

YB1375的专栏 215

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

Kotlin中级——Select expression

select的onReceive允许从2个channel中获取值。

松仔Log的博客 260

Gson + Kotlin 数据类的空安全陷阱:一次线上 NPE 崩溃的完整分析与修复

服务端返回 {"provinceName": null, ...}│▼Gson 反射赋值,绕过主构造函数和空检查│▼data.provinceName 实际是 null(但类型仍标记为非空 String)│▼主线程 lambda 拿着这个"假的非空值"传给非空参数│▼Intrinsics.checkNotNullParameter 抛出 NPE,主线程崩溃项目内容崩溃现象根本原因Gson 反射赋值绕过 Kotlin 构造函数与空检查,服务端返回显式null。

学习的最佳方式,就是把它写下来! 201

Kotlin与Java虚拟机四:函数

Kotlin 中函数是“一等公民”,使用 fun 声明,支持表达式函数体、默认参数、命名参数和可变参数(vararg)。函数可位于顶层(编译为静态方法)、局部或类中。无返回值时类型为 Unit,尾递归优化可避免栈溢出。本章还介绍了函数的灵活性与可读性提升特性,为后续高阶函数打下基础。

canfeit的专栏 177

Kotlin与Java虚拟机三:控制流

Kotlin 控制流以表达式为核心,if 和 when 均可返回值,取代了 Java 的语句形式。when 功能强大,支持多值、区间、类型判断及穷尽性检查,提升安全性。区间与 for 循环结合,简洁遍历集合;break/continue 可配合标签跳出嵌套循环。Lambda 中的 return 默认非局部返回,需用 return@标签 控制行为。整体设计更安全、简洁。

canfeit的专栏 345

Kotlin flow 详解

/ 接收launch {// 发送launch {可以看到创建SharedFlow时,没有像创建冷流flow一样传入一个block的函数参数。自然调用collect也没有可以重新运行的代码。

weixin_45444971的博客 223

Android 开发入门实践(四):Kotlin 列表的安全读取、增删改与筛选转换

本章学习Kotlin列表操作,重点掌握getOrNull安全取值、isEmpty/isNotEmpty判断空列表、MutableList可变性及add、remove、removeAt、替换元素等操作。通过日志验证,区分原列表修改与新列表创建,明确filter、map、find等函数返回类型与作用。强调下标越界处理、重复元素删除逻辑及val与可变性的关系,巩固列表操作的准确理解。

Easyhood的博客 166

Android 开发入门实践(三):理解 Kotlin 列表下标、size 与 lastIndex

Log . d(TAG , "最后一条新闻的下标: $ lastNewsIndex ")lastIndex的 I 大写,后面同样不加圆括号。变量名中的 N、I 都大写。它返回的是一个下标,不是最后一条新闻的文字,也不是新闻总数。表达式表示什么结果元素数量10最后一个下标9下标9对应的元素本文示例中是"第十条新闻"表格最后一行根据本文复习数据得出;前两行的10和9也与当时两节课的运行反馈一致。

Easyhood的博客 223

Go1.27升后Errorf指针%w怎么改

Go1.27起printf vet会报告用%w包装*E(E已实现error);应改传值型error,并用errors.Is/As回归验收。

Amax3747的博客 448

Android 开发入门实践(一):用 Kotlin 和 Jetpack Compose 实现新闻列表

以 NewsApp 新闻列表项目为例,记录 Kotlin 变量、条件判断、循环、函数和可空类型的基础练习,以及 Jetpack Compose 中列表、卡片、图片、图文布局与点击日志的实现过程。

Easyhood的博客 166

【维克】均值回归型CTA:期货的“弹簧效应“

老李犯的错,是把"涨多了"当成"过头了"。但螺纹钢从1600涨到3000,可能只是从"严重亏损"回到"合理利润",根本没过头。讲清楚商品期货的"弹簧"到底长什么样、用什么指标判断偏离、什么场景下均值回归有效,以及——开平仓和止损该怎么设计。当价格低,供给减少、需求增加,形成短缺,价格上涨。当某个品种库存处于历史高位,同时生产利润也很高(价格远高于成本),说明"供大于求 + 暴利",价格下行的压力很大。老李看空,理由是"涨太多了,肯定要跌"。因为均值回归的"诱惑"太大了——价格越偏离,你越觉得"该回归了"。

weixin_42332217的博客 477
上一篇: COMP9021 Assignment 2
下一篇: CS 36CWinter 2024 Homework 3
todcode
博客等级 码龄7年 359粉丝 108原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值