读图数据库实战笔记06开发应用程序

CNC编程实战:从小城加工中心到高效工艺的完整工作流拆解 CNC编程是连接设计与制造的桥梁,其本质是将三维模型或图纸的几何与工艺信息,翻译为机床可执行的刀具运动指令集。这一过程遵循从工艺分析、装夹设计、刀具规划到加工策略选择、参数设定的系统化流程,其核心价值在于实现加工过程的稳定性、高效性与安全性。在自动化设备、模具制造等应用场景中,规范的编程工作流是保障质量与效率的关键。本文以铝合金连接支架为具体案例,深入剖析了从模型分析、CAM软件操作到G代码生成与验证的完整路径,并针对小城市加工中心常见的尺寸偏差、表面粗糙度及撞刀等问题提供了排查思路,旨在帮助从业者建立可复 阅读详情

1. 开发应用程序

1.1. 在图中解决问题需要转换思维方式,从遍历图的角度思考问题

1.2. skeleton(骨架版本)

  • 1.2.1. 不含任何代码的应用程序骨架,只有为方法预留的桩(stub)​。

  • 1.2.2. 适合想自己编写代码的读者

1.3. commented(注释版本)

  • 1.3.1. 项目所需的所有代码都已经写好,但被注释掉了

  • 1.3.2. 适合不想敲代码但又想了解代码的读者

1.4. completed(已完成版本)

  • 1.4.1. 完整的、可用的应用程序版本

  • 1.4.2. 适合只想检视最终产品的读者

2. 开始项目

2.1. 建立基于图的应用程序和建立其他基于数据的应用程序类似,都需要选择工具、建立项目、获取正确的驱动程序以及准备数据库服务器这些过程

2.2. 选择工具:开发语言和数据库

  • 2.2.1. 使用什么开发语言

    • 2.2.1.1. 使用Java作为开发语言

    • 2.2.1.2. 常年位居排行榜前茅的编程语言Java(版本号为8)和常用的构建工具Maven(版本号为3.5)​

      2.2.1.2.1. 是使用图数据库时最常用的一对搭档

  • 2.2.2. 基于什么数据库

    • 2.2.2.1. 使用Gremlin Server作为数据库实现

    • 2.2.2.2. 使用Apache TinkerPop引用实现,称为Gremlin Server

2.3. 建立软件项目

  • 2.3.1. pom.xml文件

2.4. 选择合适的数据库驱动

  • 2.4.1. 开发应用程序的一个首要任务就是指定一个合适的驱动程序来连接数据库

  • 2.4.2. 只要使用数据库,不管是关系数据库还是图数据库,任何应用程序都需要驱动程序

  • 2.4.3. 使用Apache TinkerPop Gremlin Driver来连接Gremlin Server

  • 2.4.4. 对于C#项目,使用像NuGet这样的工具增加对Apache TinkerPop Gremlin.Net驱动程序的依赖

2.5. 准备数据库服务器实例

  • 2.5.1. 使用Gremlin Server,可以在不预先定义图的模式或数据模型的情况下开始写代码

3. 连接数据库

3.1. 连接图数据库包括配置合适的网络客户端和为TinkerPop数据库设置GraphTraversalSource

3.2. 建立数据库配置对象,称为Cluster

  • 3.2.1. 在支持TinkerPop的图数据库中,这叫作集群配置(cluster configuration)​

  • 3.2.2. 该配置指定了应用程序与图数据库服务器连接的服务器和端口

  • 3.2.3. 对于绝大多数图数据库服务器,每个实例仅支持一个图

    • 3.2.3.1. 由于只有一个图,就不需要指定使用哪个
  • 3.2.4. 有几个图数据库的服务器支持多个图

    • 3.2.4.1. 在这些数据库中,必须使用官方提供的驱动程序

    • 3.2.4.2. 需要额外的配置参数,如图的名字

3.3. 建立GraphTraversalSource

  • 3.3.1. 远程/分离式或嵌入式/API

  • 3.3.2. ​“分离式”的意思是图数据库不与驱动程序和应用程序在相同的处理和内存空间

  • 3.3.3. TinkerPop能以两种模式运行

  • 3.3.4. 嵌入模式

    • 3.3.4.1. 图在应用程序的内存和处理空间中操作,而不是作为外部资源被访问

    • 3.3.4.2. 这种配置需要添加额外的库到项目中

  • 3.3.5. 网络模式

    • 3.3.5.1. 数据库作为外部资源操作,通过网络连接

    • 3.3.5.2. 市场上的所有图数据库都支持这种方式

4. 获取数据

4.1. 使用Gremlin语言变体

  • 4.1.1. GLV是TinkerPop独有的特性,提供TinkerPop的特定语言实现

    • 4.1.1.1. 如果你熟悉.NET,GLV看起来就像在其生态系统中流行的语言集成查询(Language Integrated Query,LINQ)组件

    • 4.1.1.2. 使用GLV得到的好处能抵消把字符串转换成本地语言的额外工作

    • 4.1.1.3. 强烈建议你尽可能使用GLV风格的遍历

  • 4.1.2. Gremlin之所以被创建,就是为了被嵌入多种编程语言中,并使用该语言的构造来表示遍历

    Cluster cluster = Cluster.open();
    Client client = cluster.connect();
    ResultSet results = client.submit("g.V().hasLabel('person')");
  • 4.1.3.1. 字符串提交、Groovy脚本或脚本提交

  • 4.1.3.2. 字符串的序列化和反序列化会产生额外的开销,而且这种开销可能很大

  • 4.1.3.3. 使用字符串拼接导致你的代码面临SQL注入(应该叫“Gremlin注入”​)攻击的风险,除非持续使用参数化

  • 4.1.3.4. 无法使用现代IDE的代码验证和自动补全能力

  • 4.1.3.5. ResultSet的结果还是必须被强制转换成类型对象,但通过GLV,返回结果是自动强类型的

  • 4.1.4. Apache TinkerPop提供了多种Gremlin语言变体(GLV)​

    • 4.1.4.1. 使用GLV可以利用IDE的代码补全功能和强类型结果
  • 4.1.5. 把遍历转换成应用程序可用的代码,往往就像把每一个Gremlin操作替换成同名的方法调用一样简单

4.2. 获取一个顶点

  • 4.2.1. // 这返回属性的列表
List properties = g.V().
        has("person", "first_name", name).
         valueMap().toList();

4.3. 增加终点操作

  • 4.3.1. 在为应用程序编写遍历时,必须以一个终点操作作为遍历的结束

  • 4.3.2. return g.V().count().next();

    GraphTraversal t = g.V();
    t = t.count();
    return (Long)t.next();
  • 4.3.4. hasNext():返回一个布尔值,其中true代表有结果,false代表没有结果

  • 4.3.5. tryNext():一个由hasNext()和next()操作组合而成的便捷方法,在有结果的情况下执行遍历

  • 4.3.6. toList():以Java List的形式返回遍历的结果

  • 4.3.7. toSet():以Java Set的形式返回遍历的结果

  • 4.3.8. 终点操作在编写应用程序代码时是必需的

    • 4.3.8.1. 应用的驱动程序不会自动添加它们

4.4. 在应用程序中创建Java方法

5. 添加、修改和删除数据

5.1. 添加顶点

  • 5.1.1. g.addV('person').property('first_name', 'Dave')

  • 5.1.2. 在代码中使用GLV比采用JDBC或Groovy脚本的方式简单得多

  • 5.1.3. 由于Gremlin是在JVM上开发出来的,至少在Java里,其语法是一样的

  • 5.1.4. 每一个GLV都试图提供目标语言的原生开发体验

  • 5.1.5. Gremlin遍历

    • 5.1.5.1. g.addV('person').property('first_name', 'Dave')
  • 5.1.6. Java语句

    • 5.1.6.1. g.addV("person").property("first_name", name).next();
  • 5.1.7. 归功于Groovy,Gremlin中的字符串既可以使用单引号,又可以使用双引号

  • 5.1.8. 使用Java GLV时,Java必须使用双引号来引住字符串

  • 5.1.9. 使用GLV的一个主要好处:返回的是不需要额外代码处理的通用对象

5.2. 添加边

  • g.addE('friends').
     from(
       V().has('person', 'first_name', 'Dave')
     ).
     to(
       V().has('person', 'first_name', 'Josh')
     )
  • Edge newEdge = g.addE("friends").
    
           from(V().has("person", "first_name", fromName)).
           to(V().has("person", "first_name", toName)).
           next();
  • Edge newEdge = g.addE("friends").
           from(__.V().has("person", "first_name", fromName)).
           to(__.V().has("person", "first_name", toName)).
           next();
    • 5.2.3.1. 带有两个下划线的元素叫作匿名遍历

    • 5.2.3.2. 是Gremlin语言的一个特性,在其他图语言中没有直接的对照物

    • 5.2.3.3. to()操作是一个调节器

5.3. 修改属性

  • 5.3.1. g.V().has('person', 'first_name', 'Dav').property('first_name', 'Dave')

5.4. 删除元素

  • 5.4.1. g.V().has('person', 'first_name', 'Dave').drop().iterate()

  • 5.4.2. sideEffect(traversal):将被提供的遍历作为额外的过程进行处理,不影响传递给下一个操作的结果

  • 5.4.3. store(alias):保存由alias指定的遍历集合的结果

  • 5.4.4. cap(alias):输出由alias指定的结果集合

6. 转换清单和路径遍历

6.1. 获取结果的清单

  • g.V().has('person', 'first_name', 'Ted').
     out('friends').dedup().
     values('first_name').next()
  • List<Object> friends = g.V().has("person", "first_name", name).
               out("friends").dedup().
               values("first_name").
               toList();

6.2. 实现递归遍历

  • g.V().has('person', 'first_name', 'Ted').
       repeat(
         out('friends')
       ).times(2).dedup().values().next()

6.3. 实现路径

  • g.V().has('person', 'first_name', 'Ted').
     until(has('person', 'first_name', 'Denise')).
     repeat(
       both('friends').simplePath()
     ).path().next()
  • List<Path> friends = g.V().has("person", "first_name", fromName).
       until(has("person", "first_name", toName)).
       repeat(
         both("friends").simplePath()
       ).path().toList();
  • 6.3.3. path()返回的不仅是一个顶点或边,还有所有的中间操作

  • 6.3.4. 以使用List<Path>而不是更通用的List<Object>

    • 6.3.4.1. Path类是TinkerPop Java驱动中特有的类,它包含对象的有序列表;每个对象代表路径中的一个顶点或边
本地多模态AI助手实战:从零搭建轻量级智能体 多模态AI助手是指能同步处理语音、图像、文本等多源信息的智能系统,其核心在于模态感知、语义对齐与任务驱动的智能体架构。相比传统大模型聊天界面,本地化部署的智能体更强调低延迟响应、资源可控性与隐私安全,技术价值体现在端到端闭环能力——如听清厨房指令、识别电路板缺陷、自动整理会议纪要。典型应用场景覆盖个人知识管理、无障碍交互、教育辅助及家庭自动化。本文聚焦轻量级推理与日常场景闭环两大关键挑战,详解如何在M1 Mac等边缘设备上,以Whisper Tiny、SigLIP、Phi-3-mini和Neo4j构建稳定可 阅读详情

相关推荐

CNC编程进阶:从第一个零件到稳定工作流的实战指南

在制造业数字化转型的背景下,CNC(计算机数控)编程作为连接设计与制造的核心环节,其价值远不止于生成G代码。理解CNC编程的原理,关键在于认识到它是一个将工艺知识、设备特性和加工要求转化为稳定、可重复指令的系统工程。这项技术的核心价值在于实现加工过程的可控性与可预测性,从而提升生产效率、保证质量一致性并降低对操作者经验的过度依赖。其应用场景广泛覆盖从模具制造到航空航天零部件加工等领域。本文聚焦于**CNC编程工作流**的构建与优化,通过剖析从首个验证零件到后续批量生产过程中面临的系统性挑战,深入探讨如何建立

weixin_34342992的博客 591

读图数据库实战笔记11读后总结与感想兼导读

图分析

lyingSeven的博客 783

流行ORM架构设计对比与驰骋优势

本文对比分析了六类主流ORM架构与驰骋BPM自研ORM的特点,重点从企业级BPM+低代码场景出发进行评估。驰骋ORM以元数据驱动为核心,通过Map/Attr体系同时描述表结构、控件、主从关系和权限控制,实现表单设计器、流程引擎与组织权限的一体化集成。相比通用ORM仅解决30%的CRUD需求,驰骋ORM内置解决了70%的企业应用开发难题,包括主从表维护、多对多关系、数据权限等场景,特别适合流程驱动型系统的快速构建。评测显示,驰骋ORM在低代码、主从关系、流程集成等维度得分显著高于其他方案,但在纯SQL性能、强

开源驰骋工作流引擎 178

新读图时代:编程语言的演化过程

新读图时代:编程语言的演化过程 2012-03-06 23:31:006219浏览 | 9评论   大型机盛行的60年代开始出现高级编程语言,大大提高了代码编写效率,然后是微机、网络和现在的云计算时代,相继出现结构化、面向对象和服务导向的计算机语言,让程序代码更接近自然语言的表达,更真实地反映现实中的实体关系。本文的信息图展示了过去数十年来编程语言的演化过程。

junecauzhang的专栏 1532

ARIS企业流程管理:从架构设计到实战建模的完整指南

企业架构与业务流程管理是企业数字化转型的核心基础,它通过结构化的方法将战略、组织、数据、流程与IT系统进行一体化设计与治理。其核心原理在于建立统一的企业模型语言,打破部门墙与系统孤岛,实现业务与IT的有效对齐。这项技术的核心价值在于为企业提供全景可视化的管理蓝图,支持流程的持续优化与合规管控。在应用场景上,它广泛用于端到端流程梳理(如采购到付款P2P)、流程仿真分析与绩效监控。本文以ARIS平台为例,深入解析其经典的房屋模型架构与EPC建模方法,并通过实战演示如何构建可执行、可分析的流程模型,帮助读者掌握如

weixin_34348174的博客 372

ARIMA时间序列预测实战:从平稳性诊断到业务可信预测

ARIMA模型是经典的时间序列预测方法,其核心原理基于自回归(AR)、差分(I)和移动平均(MA)三部分的协同建模,依赖弱平稳性、线性依赖与常数方差等统计假设。然而在真实业务场景中,数据常存在趋势-季节耦合、异常值蕴含业务信号、平稳性检验结果矛盾等挑战,导致直接调用statsmodels.fit()频繁报错或预测失真。本文聚焦ARIMA模型、时间序列预测两大热词,系统拆解平稳性检验(ADF/KPSS双验证)、参数选择(p/q物理约束与ACF/PACF读图心法)、残差诊断(Ljung-Box+Q-Q+异方差三

ciqiaofu0192的博客 358

大模型框架 LangChain 杀疯了,普通人如何把握机遇?

自从 GPT- 4 发布之后,好奇的你可能也在尝鲜各种人工智能应用工具,并受益于它的提效能力。那么,开发类似 ChatPDF 等 AI 工具的人是怎么做到的呢?其实,他们都用了开源框架 LangChain。LangChain 是一个全方位的、基于大语言模型这种预测能力的应用开发工具,兼具「代理性和数据感知」两个特性。无论你是想要做一个聊天机器人、个人助理、问答系统,或者自助代理等等,都可以帮助我们快速地实现想法。我可以拍胸脯地说,LangChain 的 GitHub Star 数量疯涨中,没有放缓的节奏。

m0_71745484的博客 961

用Python+PyQt5打造图片视频对比工具:从设计到打包全解析

图像对比与视频抽帧是多媒体处理中的常用需求,尤其在素材验收、转码校验和回归测试场景中,人工逐帧查看效率低下且易出错。通过感知哈希与像素级差异分析,可以量化两张图片的相似度与差异区域;利用OpenCV的视频解码能力,则能按帧号精准抽取画面。结合PyQt5的界面框架与多线程信号槽机制,可将这些零散能力整合为可交互的桌面工具,支持拖拽文件、缩放查看、批量对比及热力图可视化。PyInstaller打包则让工具跨环境运行成为可能。本文围绕一个基于Python+PyQt5、OpenCV和imagehash的图片视频对比

ciya3282的博客 436

GPT-4 Turbo升级与API降价:开发者如何重构AI应用成本与架构

大语言模型(LLM)通过其强大的自然语言理解和生成能力,正在深刻改变软件开发的范式。其核心原理在于基于海量数据训练的Transformer架构,能够捕捉复杂的语义关联。这一技术的核心价值在于,它极大地降低了人机交互和自动化任务的技术门槛,使开发者能够更高效地构建智能应用。当前,LLM的应用场景已从简单的对话机器人,扩展到代码生成、数据分析、智能客服和复杂工作流自动化等多个领域。随着模型能力的迭代,例如上下文窗口的显著扩展和逻辑推理稳定性的提升,结合API调用成本的大幅下降,开发者迎来了重构应用架构的新契机。

weixin_33743661的博客 498

bellhop水声工具箱:射线追踪原理与传播损失建模实战

水声传播建模是声呐系统设计、水声通信与海洋物探的共同基础,而射线追踪作为一类高效近似方法,凭借其物理图像清晰、计算开销低的优势,在工程估算中占据重要地位。射线追踪将声波离散为若干条声线,通过求解声线在非均匀介质中的弯曲路径,直观呈现折射、海面海底反射及多途干涉现象。传播损失是衡量声能量随距离衰减的核心指标,其计算涵盖几何扩展、海水吸收与边界损失,直接决定了声呐探测距离与通信信道的可靠性。在海洋环境适配、目标探测评估等典型场景中,工程师往往需要快速获取精度合理的传播损失场。bellhop作为水声工具箱Acou

weixin_29290963的博客 361

手把手教你用C语言给STM32写一个Modbus RTU从机库(含完整项目源码)

在工业自动化领域,Modbus RTU协议因其简单可靠的特点,成为RS485总线通信的事实标准。对于嵌入式开发者而言,为STM32等微控制器实现一个高效的Modbus RTU从机协议栈,是开发智能传感器、执行器等设备的必备技能。Modbus RTU从机的核心是一个状态机,需要处理帧接收、CRC校验、功能码解析和响应生成等环节。工业现场总会遇到意想不到的干扰情况,一个健壮的协议栈应该能够优雅地处理各种异常场景,而不是简单地崩溃或死锁。工业现场环境复杂,协议栈必须具备完善的异常处理机制。

weixin_30561425的博客 516

国内替代Gemini的合规技术路径:本地模型与云平台实战指南

大语言模型多模态能力已成为AI应用的基础需求,其核心价值体现在长上下文理解、图文联合推理、代码生成与实时交互等维度。随着Gemini等国际模型在国内服务受限,开发者亟需可落地、可验证、符合数据安全法规的技术替代方案。本文从能力映射出发,系统梳理Qwen2-VL、Kimi、通义千问等主流国产模型在视觉语言理解、超长文档处理、结构化输出等方面的工程表现,并结合硬件选型、量化部署、API集成与成本效益分析,提供覆盖个人实验到企业级落地的完整技术路径。特别聚焦‘Gemini替代’与‘多模态本地部署’两大高频搜索场景

505

DP3(3D Diffusion Policy)算法详解:从点云感知到扩散动作生成

DP3 的全称是:DP3 = 3D Diffusion Policy\boxed{\text{DP3 = 3D Diffusion Policy}}DP3 = 3D Diffusion Policy​对应论文题目是:3D Diffusion Policy: Generalizable Visuomotor Policy Learning via Simple 3D Representations该工作发表于 Robotics: Science and Systems(RSS)2024。DP3 是一种面向机器

u013250861的博客 345

漫画阅读系统计算机开题报告

随着互联网的兴起,网络漫画凭借其传播速度更快、渠道更丰富、受众面更广等比较优势对原有的纸质漫画期刊造成了很大的冲击[6],而2010年后随着互联网的不断发展,传统纸质漫画逐渐衰退,在线漫画兴起。漫画正是娱乐文化的重要组成部分。首先分析现在应用市场上大多数的移动阅读软件,对它们所包含的功能、特点进行对比分析,筛选出其中更为现在人们在进行阅读漫画时的数据进行分析时所需要的功能,记录下来并完成这些功能的开发。(4)在软件中进行漫画模块的设计及界面的绘制,对软件的操作系统进行最后的优化,最后完成软件的设计。

JAVA编码选手的博客 778

飞书文档API深度使用指南:如何用n8n社区节点绕过HTTP Request的复杂配置

本文详细解析了如何利用n8n社区节点简化飞书文档API的集成过程,绕过复杂的HTTP Request配置。通过n8n-feishu-lite社区节点,开发者可以轻松实现飞书文档的创建、编辑和查询操作,大幅提升自动化工作流的效率。文章还提供了高级应用场景和性能优化建议,帮助开发者更好地利用飞书开放平台的API功能。

weixin_29227585的博客 83

il2cpp分析-gobal-metadata.dat解密

打开ida,把libil2cpp拖到ida中按快捷键Shift+F12等待字符串分析完后,搜索global-metadata.dat。ida中双击sub_57EE7C进入,VS code中也跳转到LoadMetadataFile函数。VSCode打开il2cpp源代码,全局搜索global-metadata.dat。工具:010Editor,IDA 7.5,Jadx,VS Code。判断加密逻辑为根据文件的长度循环读取字节码做亦或加密。双击搜索出来的结果,切记要选il2cpp目录下的。

Android_machong的博客 8024

【计算机开题报告】漫画阅读系统

随着互联网的兴起,网络漫画凭借其传播速度更快、渠道更丰富、受众面更广等比较优势对原有的纸质漫画期刊造成了很大的冲击[6],而2010年后随着互联网的不断发展,传统纸质漫画逐渐衰退,在线漫画兴起。漫画正是娱乐文化的重要组成部分。首先分析现在应用市场上大多数的移动阅读软件,对它们所包含的功能、特点进行对比分析,筛选出其中更为现在人们在进行阅读漫画时的数据进行分析时所需要的功能,记录下来并完成这些功能的开发。(4)在软件中进行漫画模块的设计及界面的绘制,对软件的操作系统进行最后的优化,最后完成软件的设计。

JAVA计算机毕设的博客 584

matlab 计算InSAR干涉相位图的残差点

在理想的情况下,相位场是连续的,图像内沿着任何一条封闭曲线的积分应该为零。这样的连续场称为无旋场,反之为有旋场。但在实际测量过程中,由于噪声、欠采样和系统误差等因素的影响,得到的 InSAR 干涉相位条纹图中往往会出现不连续的相位点,即残差点

点云侠的博客 265

CV工业落地实战:三篇硬核论文的精读与热插拔指南

计算机视觉(CV)作为AI工程化的核心领域,其技术价值不仅在于模型精度,更在于能否在真实场景中实现低延迟、低资源占用与快速迭代。模型压缩、多模态对齐、实时推理等关键技术,正成为边缘部署、跨源质检、小样本冷启动等工业痛点的破局关键。本文聚焦2024年最新实证有效的三篇CV论文,深入解析其轻量化特征融合机制、参数高效跨模态门控设计及元学习驱动的小样本缺陷检测框架,覆盖从算法原理、PyTorch热插拔改造、CUDA/PyTorch环境避坑,到多模块耦合调优的全链路实践。内容紧扣模型压缩与多模态对齐两大热词,面向一

anque1234的博客 406

TVS 管击穿电压与钳位电压的工程解析

TVS二极管的核心参数击穿电压(VBR)和钳位电压(VC)常被混淆,但二者具有本质区别。VBR是

硬核科技 476

Android 14.0 SystemUI下拉通知栏通知去掉长按事件

在14.0的系统rom产品定制化开发中,在systemui模块中关于下拉状态栏这块也是非常重要的部分,最近在关于systemui下拉通知栏的每条通知部分 要求去掉通知栏通知的长按事件,不需要长按功能,所以就需要分析下关于长按事件是在哪里注册的,然后去掉就可以了,接下来分析实现 相关功能

安卓兼职framework和app工程师的博客 276

CNC编程实战:从零到一掌握安全高效加工流程与G代码应用

CNC(计算机数控)加工是现代制造业的核心技术,其本质是通过数字程序控制机床运动,实现复杂零件的高精度制造。其工作原理基于CAD/CAM软件将设计模型转换为刀具路径,再经后处理生成机床可识别的G代码指令。这项技术的核心价值在于将设计意图高效、准确地转化为实体零件,大幅提升生产自动化水平与一致性。在机械加工、模具制造、原型开发等广泛场景中,CNC编程是实现定制化与小批量生产的关键。本文聚焦于CNC编程中的工艺思维与风险控制,通过拆解一个典型连接板零件的完整编程流程,深入剖析从图纸分析、CAM软件操作到后处理与

weixin_30832405的博客 329

HFSS实战项目——GPS北斗双模微带天线

本文设计了一款方形圆极化微带天线应用于北斗B1和GPSL1频段,满足高增益、低VSWR、适当方向图等要求。设计中心频率为1568MHz,介质板采用厚度h=1.6mm的Arlon AD450(tm)板,相对介电常数为4.5,采用探针馈电。

2401_87464239的博客 1765

如何书写论文中的参考文献并正确标注页码

不论是写毕业论文、职称论文,还是竞赛论文等等,都需要去查询、阅读大量的参考文献、书籍,才能更好的了解自己的研究领域,从而写出一篇不错的具有前瞻性的论文,或者综述性文章。而参考文献的正确书写格式,也是需要特别注意并加以掌握的。现将具体格式总结如下,希望对大家有所帮助。 一、明确参考文献的类型 参考文献的类型以单字母方式标识:J——期刊文章

sym的博客 9万+

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

上一篇: 读图数据库实战笔记05格式化结果
下一篇: 读图数据库实战笔记07高级数据建模技术
躺柒
博客等级 码龄4年 7004粉丝 1317原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值