Lab 1.MapReduce
Lab 1 - MapReduce介绍在本实验中,您将构建一个 MapReduce 系统。您将实现一个调用应用程序 Map 和 Reduce 函数并处理文件读写的 Worker 进程,以及一个将任务分派给 Worker 并处理失败 Worker 的主进程。您将构建与 MapReduce 论文类似的内容。
开始我们在 src/main/mrsequential.go 中为您提供了一个简单的顺序 mapreduce 实现。它在一个进程中一次运行一个映射和还原。我们还为您提供了几个 MapReduce 应用程序:mrapps/wc.go 中的 word-count 和mrapps/indexer.go 中的文本索引器。您可以按如下顺序运行 word count:
12345678910$ cd ~/6.824$ cd src/main$ go build -buildmode=plugin ../mrapps/wc.go$ rm mr-out*$ go run mrsequential.go wc.so pg*.txt$ more mr-out-0A 509ABOUT 2ACT 8...
请 ...
Java八股文
集合主要分为三种:List、Set、Map
Map:数组+链表+红黑树链表转红黑树:64 和 8红黑树转链表:6
垃圾回收多线程反射机制JVM虚拟机Java内存管理管理的是堆内存中对象的分配和回收。GC堆。
死亡对象判断方法
引用计数法:难以解决循环引用的问题。
可达性分析:从GC Roots搜索
垃圾收集算法:
标记-清除算法
标记-复制算法
标记-整理算法
分代收集算法:(目前使用)新生代老年代,为各个年代选择合适的垃圾收集算法
垃圾收集器
信息可视化大作业
hierarchy(data, children)Hierarchies | D3 by Observable (d3js.org)
分层数据
属性:node.data - 传递给层次结构的相关数据node.depth(节点深度)- 根节点的深度为 0,每一代子节点的深度增加 1node.height(节点高度)- 与任何后代叶子的最大距离,叶子为 0node.parent - 父节点,根节点为空node.children–子节点数组(如果有),对于叶子则未定义node.value - 节点及其子节点的可选加和值
方法:node.ancestors():返回祖节点数组,从本节点开始,依次返回父节点直至根节点。
node.descendants():返回子节点数组,从本节点开始,然后按拓扑顺序依次返回每个子节点。
node.find(filter):返回从该节点开始的层次结构中,指定的过滤器返回真值的第一个节点。如果没有找到这样的节点,则返回未定义的值。
node.path(target):返回从该节点到指定目标节点的层次结构中的最短路径。路径从本节点开始,上升到本节点和目标节点的最小共 ...
Triangulating Python Performance Issues with SCALENE
Abstract
SCALENE精确且同时地分析CPU、内存和GPU的使用情况,所有这些都具有较低的开销。
指导编程人员优化代码
Introduce
前端国际化改造
背景Template部分JavaScript部分data结构node.key.name == ‘data’node.value是对其data节点的描述
继续递归node.value发现他是一个FunctionExpression有一个body属性,里面的blockStatement存放了对函数的描述里面继续body属性,存放了VariableDeclaration、ReturnStatement需要对这里面出现的所有中文字符国际化,并保留其路径
for 循环body.body
data的properties可能是遇到‘ObjectExpression’说明是对象,那么先将它的key.name存到路径上,继续遍历它的properties属性遇到‘ArrayExpression’说明是列表,遍历它的value.elements元素,加上索引存到路径上。遇到‘Property’说明是属性,遍历它的value,遇到‘Literal’说明是字面量,停止迭代,判断value是否包含中文,包含则修改为$t(‘path’)
遇到‘FunctionExpression’,遍历它的bo ...
领域特定语言论文汇报
摘要现代软件系统正变得越来越复杂,依赖于大量的第三方库支持。因此,库行为是软件行为不可分割的一部分。分析它们和分析软件本身一样重要。然而,由于缺乏源代码、不同语言的实现以及复杂的优化,分析库具有很大的挑战性。 我们注意到,许多Java库函数都提供了出色的文档,这些文档简要地描述了函数的功能。我们开发了一种新的技术,可以通过分析文档来构建Java API函数的模型。与原始模型相比,这些模型在Java中的实现更简单,因此更易于分析。更重要的是,它们提供了与原始功能相同的功能。我们的技术成功地对14个广泛使用的Java类中的326个函数进行了建模。我们还将这些模型用于Android应用程序的静态污染分析和Java程序的动态切片,展示了我们模型的有效性和效率。
难点
库源代码的隐蔽性/多样性,导致难以对软件行为进行分析
源代码庞大,复杂,包含大量多层次的调用关系,导致分析困难
源代码包含大量优化和工程技巧,不利于对其行为分析(难以理解)
库具有跨平台支持
本文提出了一种在自然语言中从Javadoc生成模型的新方法。这些模型是代码片段,具有与原始实现相同的功能,但复杂性要简单得多。 ...
组会分享
1.基于LangChain的开源项目低代码相关
名称
介绍
链接
Langflow
LangChain设计的用户界面,使用react-flow设计,通过拖放组件和聊天框,可以轻松地进行实验和原型流程。
Flowise
Flowise是一个拖放用户界面,基于Langchain.js
Databerry
无代码平台,基于自定义数据源问答
Dashboard | Chaindesk.
LangchainUI
停止维护了
Yeager.ai
Langchain Agent 创建工具,旨在帮助您轻松构建、原型开发和部署人工智能驱动的代理
Superagent
Superagent 是一个开源代理框架,可让任何开发人员在几分钟内将可投入生产的人工智能助手集成到任何应用程序中。
Autogen
AutoGen 是一个框架,可以使用多个代理开发 LLM 应用程序,这些代理可以相互对话以解决任务。
Databerry
ChatGPT Agent Trained On Your Custom Data:根据您的自定义数据训练的 ChatGPT 代理
优 ...
信息可视化作业1
1.作业简介Treemap(树状图)是一种数据可视化技术,通常用于展示层次结构数据的比例关系。它将数据以嵌套矩形的形式呈现,其中每个矩形代表一个数据单元,而矩形的大小表示数据单元的相对大小,通常是基于某种特定属性或值的比例。Treemap 是一种有效的方式,可以帮助可视化复杂的层次数据,并理解数据之间的层次关系以及数据的相对重要性。
然而创建具有清晰结构和信息丰富的Treemaps可能是一项具有挑战性的任务,需要仔细考虑数据、布局、可视化美学和用户交互等多个方面。例如,矩形布局化算法是Treemap中最为核心的一步。通过合理安排矩形的布局,尽可能使得矩形的长宽相近,从而避免“细长条”矩形的出现,“细长条”矩形不利于呈现矩形间的权重关系,因此需要设计巧妙的算法,让矩形的横纵比减少。本实验基于论文[1]中给出的Squarified treemaps算法,并进行优化,实现了树状图的可视化。
本实验共实现了以下三种不同的Treemaps:
Squarified treemaps:根据论文中给出的算法进行了实现
Squarified treemaps++:优化了矩形排列算法,从而降低了整体矩形 ...
On the Robustness of Code Generation Techniques:An Empirical Study on GitHub Copilot
介绍背景:我们在让大模型帮我们生成代码的时候,不同的需求描述对于模型生成的代码影响有多大。换个描述很可能会生成完全不同的结果。
研究目的:对于代码生成模型(以Github Copilot为例),不同但语义等效的自然语言描述是否会产生相同的推荐功能(代码)。
测试方法:892个Java methods来自1401个开源项目,将方法上方的注释作为输入给模型
生成释义的自动化工具:PEGASUS and TP
原始释义-一组语义等效的释义描述(使用PEGASUS and TP生成)
解释一下自动释义技术
PEGASUS
TP
方法问题:
RQ0:自动释义技术可以在多大程度上用于测试基于深度学习的代码生成器的鲁棒性?
RQ1:GitHub Copilot 的输出在多大程度上受到开发人员作为输入提供的代码描述的影响?
<method,code_description>
892个方法:TP:只生成792个有效释义,其中非等效占比PEGASUS:生成891个有效释义,其中非等效占比手工:认为全部有效,且等效892
一共:792+891+892=2575 原始释义 ...
Lang Chain介绍
快速开始JS版:langchain-ai/langchainjs (github.com)Python版:langchain-ai/langchain: ⚡ Building applications with LLMs through composability ⚡ (github.com)
论文链接:Automated Repair of Programs from Large Language ModelsPractical Program Repair in the Era of Large Pre-trained Language ModelsSKCODER: A Sketch-based Approach for Automatic Code GenerationKeeping Pace with Ever-Increasing Data: Towards Continual Learning of Code Intelligence Models
Impact of Code Language Models on Automated Program R ...