静态仔的挣扎第02天

我们做了一款静态代码分析程序 本文首发于微信公众号,一个分享硬核 Java 技术的金融摸鱼侠。各位小伙伴,好久不见啊,我王有志又回来了!今天开始我会回归到正常的更新节奏中,当下的计划是对之前的文章做一些修改和勘误,直到找到新的分享主题为止。不过今天我先向大家汇报下最近的工作成果,就是之前在公众号中提到过的,和朋友一起搞的用于,我们叫它静态代码分析(CodeAnalysis,简称 CA)。目前我们已经实现了核心功能,已经可以简单的使用了,所以先将。 阅读详情

知道模板引擎和FormData的用法(重点)

模板引擎概述

作用:使用模板引擎提供的模板语法,可以将数据和 HTML 拼接起来。

使用步骤

1.下载 art-template 模板引擎库文件并在 HTML 页面中引入库文件

<script src="/js/template-web.js"></script>

2.准备 art-template 模板

<script id="tpl" type="text/html">
     <div class="box"></div>
 </script>

3.告诉模板引擎将哪一个模板和哪个数据进行拼接

var html = template('tpl', {username: 'zhangsan', age: '20'});

4.将拼接好的html字符串添加到页面中

document.getElementById('container').innerHTML = html;

5.通过模板语法告诉模板引擎,数据和html字符串要如何拼接

<script id="tpl" type="text/html">
     <div class="box"> {{ username }} </div>
 </script>

FormData

FormData 对象的作用

1.模拟HTML表单,相当于将HTML表单映射成表单对象,自动将表单对象中的数据拼接成请求参数的格式。
2.异步上传二进制文件

FormData 对象的使用

准备 HTML 表单

<form id="form">
     <input type="text" name="username" />
     <input type="password" name="password" />
     <input type="button"/>
</form>

将 HTML 表单转化为 formData 对象

var form = document.getElementById('form'); 
var formData = new FormData(form);

提交表单对象

xhr.send(formData);
注意

1.Formdata 对象不能用于 get 请求,因为对象需要被传递到 send 方法中,而 get 请求方式的请求参数只能放在请求地址的后面。
2.服务器端 bodyParser 模块不能解析 formData 对象表单数据,我们需要使用formidable模块进行解析。

app.post('/formData', (req, res) => {
	// 创建formidable表单解析对象
	const form = new formidable.IncomingForm();
	// 解析客户端传递过来的FormData对象
	form.parse(req, (err, fields, files) => {
		res.send(fields);
	});
});
FormData 对象的实例方法

1.获取表单对象中属性的值

 formData.get('key');

2.设置表单对象中属性的值

formData.set('key', 'value');

3.删除表单对象中属性的值

formData.delete('key');

4.向表单对象中追加属性值

formData.append('key', 'value');
注意:set 方法与 append 方法的区别是,在属性名已存在的情况下,set 会覆盖已有键名的值,append会保留两个值。

FormData 二进制文件上传

<input type="file" id="file"/>
var file = document.getElementById('file')
// 当用户选择文件的时候
 file.onchange = function () {
     // 创建空表单对象
     var formData = new FormData();
     // 将用户选择的二进制文件追加到表单对象中
     formData.append('attrName', this.files[0]);
     // 配置ajax对象,请求方式必须为post
     xhr.open('post', 'www.example.com');
     xhr.send(formData);
 }

FormData 文件上传图片即时预览

在我们将图片上传到服务器端以后,服务器端通常都会将图片地址做为响应数据传递到客户端,客户端可以从响应数据中获取图片地址,然后将图片再显示在页面中。

  xhr.onload = function () {
     var result = JSON.parse(xhr.responseText);
     var img = document.createElement('img');
     img.src = result.src;
     img.onload = function () {
         document.body.appendChild(this);
     }
 }
别再手动算频谱了!用这个在线FFT工具,5分钟搞定JSON/CSV数据分析 本文介绍了一款高效的在线FFT工具,帮助用户快速分析JSON/CSV格式的时域数据,5分钟内完成频谱分析。通过傅里叶变换(FFT)算法,大幅提升计算效率,解决传统手动计算的痛点,适用于工业振动分析、设备故障诊断等场景。 阅读详情

相关推荐

已解决-Parallels Desktop 16 网络初始化失败:您的虚拟机将继续正常运作,但将无法连接网络

我是月球挖掘机,相信不少打工人为了尝鲜已经更新了MacOS 11 Big Sur,当然,苹果每次的系统大更新,都会给我们软件的功能无法使用惊喜,这次的也不例外。 这个问题是我在更新macOS Big Sur之后,Parallels Desktop打开虚拟机后,提示: 报错信息 网络初始化失败:您的虚拟机将继续正常运作,但将无法连接网络 这是我的软件版本: 起初我以为是我的虚拟机坏了,结果重装了一遍虚拟机,没有任何用处。我开始在网上找方法,只能找到那个使用命令行打开软件的命令,除此之外没有了

月球挖掘机 5万+

静态仔的挣扎第01天

Ajax:让静态页面动起来,成为一名合格的前端人员 学习目标(重点) ** 【理解】AJAX 是什么 【理解】AJAX的应用场景 【应用】AJAX的实现步骤 【理解】AJAX的运行原理 【理解】服务器响应的数据格式 【理解】请求报文与请求参数的格式 【应用】获取服务器端的响应 【应用】AJAX异步编程** 传统网站中存在的问题 网速慢的情况下,页面加载时间长,用户只能等待 表单提交后,如果一项内...

Smart_coding的博客 283

小米手机安装Burp证书失败原因与DER格式改造指南

CA证书是HTTPS抓包和移动安全测试的基础组件,其本质是遵循X.509标准的数字凭证,依赖ASN.1/DER编码格式与完整证书链实现可信验证。Android系统默认支持PEM和DER两种编码,但MIUI自14版本起强化安全策略,仅识别DER二进制格式,并强制校验Subject Alternative Name(SAN)、Basic Constraints及证书链完整性。这种企业级加固逻辑导致Burp Suite导出的PEM格式.cer文件在小米设备上‘安装成功但无效’。本文聚焦证书格式转换、SAN字段注入

weixin_33646989的博客 625

【操作系统之考前垂死挣扎】02进程管理

进程管理2.1前趋图和程序执行2.2进程的描述2.3进程控制2.4进程同步2.5经典进程的同步问题2.6进程通信2.7线程的基本概念2.8线程的实现 2.1前趋图和程序执行 1.前趋图 前趋图是一个有向无循环图,用于描述进程之间的前后关系。 结点:描述一个程序段或进程,或一条语句。 有向边:节点之间的偏序或前序关系“——>” 例: 注意:前趋图中必须不存在循环 2.程序的顺序执行 1.程序的顺序执行: 一个程序由若干个程序段组成,而这些程序段的执行必须是顺序的,这种执行的方式就称为程序的顺序执

池鱼 1412

从原理到代码:一文搞懂LFM信号脉冲压缩在Matlab中的实现

本文深入解析了LFM信号脉冲压缩的核心原理与Matlab实现方法。从线性调频信号的数学表达、时频特性入手,详细讲解了如何构建多目标回波仿真环境,并重点阐述了匹配滤波器的频域实现算法。文章提供了完整的、可运行的Matlab代码,涵盖信号生成、噪声添加、脉冲压缩及性能评估等关键步骤,并探讨了加窗处理、参数选择等工程实践中的考量,为雷达信号处理的学习与实践提供了清晰指南。

weixin_29063035的博客 415

电源新手别怕!手把手教你搞定Buck电路的环路补偿(附Type II/III补偿器参数计算)

本文为电源设计新手详细解析Buck电路环路补偿技术,重点介绍Type II和Type III补偿器的参数计算与设计方法。通过实例演示和实用技巧,帮助工程师快速掌握环路补偿原理,解决电源振荡、响应慢等问题,提升电路稳定性与性能。

weixin_30607029的博客 618

学海挣扎记

交叉编译学习ing

turing__66的博客 321

Coze+剪映小助手实战:5分钟搞定视频草稿创建工作流(附常见错误排查)

本文详细介绍了如何利用Coze平台与剪映小助手,通过create_draft接口快速搭建自动化视频草稿创建工作流。文章从核心价值、零基础搭建步骤、运行验证到深度错误排查,手把手教你5分钟内实现视频项目参数预设的标准化与自动化,显著提升短视频创作与团队协作效率。

oil88的博客 549

Blazor是春天还是寒风里的挣扎

title: Blazor是春天还是寒风里的挣扎 date: '2021-10-25 14:00:00' toc: true categories: - Blazor tags: - ...

dotNET跨平台 1347

SAP UI5 主题设置全解析:从启动参数到运行时切换、跨域白名单与事件监听

SAP UI5主题体系深度解析:从配置到切换的完整指南 摘要:SAP UI5主题机制远不止CSS换肤,其工程化实践涵盖启动配置、运行时API切换、跨库路径映射及安全管控等关键环节。通过bootstrap标签或URL参数设置初始主题,运行时可用Theming.setTheme无刷新切换。自定义主题需配置theme-roots路径,跨域加载需声明sap-allowed-theme-origins白名单。主题切换完成后会触发applied事件,适合执行视觉同步操作。该体系支持多品牌适配、集中式主题管理,在Fior

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 327

语义分割(Semantic Segmentation)近年发展综述

目标:为图像中每个像素分配一个语义类别标签(如“道路”、“行人”、“天空”),不区分同类实例。关键挑战精确边界恢复(高空间分辨率)全局上下文理解(大感受野)计算效率与精度平衡小样本/弱监督泛化语义分割的十年演进,是一条从专用→通用、封闭→开放、慢速→实时、像素→语义2015:FCN/U-Net 奠基;2018:DeepLabv3+/PSPNet 实现高精度;2020:HRNet+OCR 登顶竞赛;2021:SegFormer 开启 Transformer 新纪元;2023+

浩瀚之水的专栏 978

Python兩條路:一條有type hints,通向職業巔峰;一條沒有,通向職場掙扎

Python开发者的职业路径正被类型提示(Type Hints)深刻重塑。传统动态类型虽灵活但维护困难,导致代码迷宫般的理解成本和运行时错误。现代Python开发者采用类型提示后获得多重优势:代码即文档、早期错误检测、更好的IDE支持,显著提升团队协作效率。行业领导者如Google、Dropbox已全面采用,招聘市场对掌握类型系统的开发者需求旺盛,相关岗位薪资平均高出18%。迁移策略可从渐进式添加类型开始,配合mypy等工具,最终整合到完整开发流程中。类型提示不仅代表技术选择,更是专业性的体现,是从&quo

王同学的博客 840

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

垂死挣扎-1

进程控制块是描述进程状态和特性的数据结构,一个进程只能有惟一的进程控制块。 编译:进行语法检查、函数分配空间,将各个函数编译成二进制码,按照特定目标文件格式生成目标文件。 连接:把程序中各个文件编译生成的目标文件连接起来,同时还要同系统提供的资源(如函数库)连接成为一个整体,得到可执行文件。 运行:执行连接好的程序。 重定位:把程序的逻辑地址空间变换成内存中的实际物理地址空间的过程,...

weixin_30784141的博客 704

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

大二学生打造自己的编程语言 NyanLang:从冲动、挣扎到重生的全纪录

《NyanLang:一个开发者的编程语言创造之旅》介绍了作者Karesis开发的静态类型极简语言项目。文章回顾了从最初基于llvmlite的原型到推翻重来的转型过程,强调质量优先、测试驱动的新开发理念。目前v0.0.3版本已完成100%测试覆盖率的词法分析器,采用表达式驱动、流程控制等特色语法设计。项目制定了清晰的开发路线图,并号召开发者参与贡献。该文不仅展示了一个编程语言的技术细节,更传递了作者对开源创造的坚持与热情。

Karesis的博客 815

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

庸者挣扎泥潭,高手从不恋战

微信又改版了,为了方便第一时间看到我们的推送,请按照下列操作,设置“置顶”:点击上方蓝色字体“程序员之家”-点击右上角“…”-点击“设为星标”。可以啦,让我们继续相互陪伴...

程序员之家 402

想了很久也挣扎了很久还是总结一下C语言吧

本文系统梳理了C语言知识体系,包含15个核心模块。基础部分介绍了程序结构(main函数入口、头文件包含、注释方式)、编译流程(预处理→编译→汇编→链接)和开发环境(编辑器、编译器、IDE的区别)。重点讲解了数据类型(char/int/float等)、变量特性(作用域、生命周期)以及常用标准库(stdio.h/stdlib.h等)。后续章节涵盖了运算符、控制结构、函数、指针、内存管理等进阶内容,最后提供项目实践建议和可视化思维导图。全文采用结构化呈现方式,适合初学者系统学习和复习者快速查漏补缺。

qq_58741420的博客 765

别让胡说八道的标签,掩盖ADHD群体真实的挣扎与力量

奥斯卡影帝霍普金斯将ADHD等神经发育障碍称为"时髦标签"引发争议。ADHD是一种有科学依据的大脑神经障碍,表现为注意力缺陷、多动和冲动三方面症状,与大脑额叶功能异常相关。特别是对ADHD患者来说,阅读存在注意力难集中、记忆缺陷等困难。推荐使用ADHDReading等辅助工具,通过文本强调、焦点辅助等功能帮助改善阅读体验。社会需要以科学态度理解ADHD,而非简单否定,通过科技赋能帮助患者克服困难。

qq_37052553的博客 1295

littlefs静态缓冲区配置:嵌入式系统内存管理终极指南

你是否曾在资源受限的嵌入式系统中挣扎于内存溢出问题?当你的微控制器仅有32KB RAM却需要运行文件系统时,如何在保证稳定性的同时避免内存碎片化?本文将深入解析littlefs的静态缓冲区配置策略,通过15个实战案例、8组性能对比表和6种优化流程图,带你掌握嵌入式系统内存管理的核心技巧。 读完本文你将获得: - 3种静态缓冲区配置方案及其适用场景 - 内存占用与性能的平衡公式 - 解决缓冲区溢出...

gitblog_00458的博客 1112

怎么在静态库中建对话框,生成lib并在MFC应用程序中使用它?

要求 最近一个项目,需要使用一个static library,在静态库中创建多个对话框,并在,同一个solution下的另一个MFC应用程序中调用。 --------------------------------------------------------------分割线 在挣扎了几天,并在国外网站疯狂的溜达了许久,get到了如下信息: 一般不在static library里使用对话...

一只懒虫的博客 1782

一个大三学渣的最后一年挣扎(前端)

开篇 看标题大家就应该知道了本人技术水平确实不咋地,一直处在一个无法跨越的区域中。说实话,我有的时候也很想规划一下自己,奈何能力不够,总是淡淡无奇,大学,前两年,过的是浑浑噩噩,没日没夜的。如今,已经是大三了,无法再继续浪下去了,毕竟,还得养活我自己呢,虽说我没有很大的理想抱负,但,我们都有一颗向上的心,你说是不是?所以借着2019的到来,我应该开始努力学习了,不对,是必须得努力学习了。但是我想了...

weixin_33973609的博客 197

html自我介绍网页模板代码_电影静态网页模板代码分享

charset=utf-8" />name="description" content="" />name="keywords" content="" />网页设计type="text/css">body{width:1000px;height:auto;margin:0 auto;}header{width:100%;height:450px;background-c...

weixin_34113453的博客 1万+

张祥雨访谈精华版:多模态大模型研究的挣扎史和未来

2012 年出了 AlexNet,当时正值大数据集出现(ImageNet)、算力大幅提升(Nvidia)的时期,AlexNet 把当时的神经网络扩大了两个数量级,取得了巨大成功延续做大神经网络的思路,在 12-16 年读博期间,宽度放大:做了 MSRA Init,比较好解决了模型不好开始训起来的问题;深度放大:做了 ResNet(听说当时他们显存最大装下 ResNet 152层),甚至后续用一些技术可以加到上千层模型大了以后,瓶颈重新变成算力和数据。17 年以后祥雨在旷视继续做小模型。

AIBigModel的博客 1140

新概念二册 Lesson 33 Out of the darkness冲出黑暗 (地点的介词)

文章目录1 课文2 单词3 语法 1 课文 First listen and then answer the question. 听录音,然后回答以下问题。 Why was the girl in hospital? Nearly a week passed before the girl was able to explain what had happened to her. 几乎过了一个星期...

CleverCode的博客 1864

Java代码缺陷预测:当系统在“深渊“里挣扎,它就是你的“救命稻草“

Java代码缺陷预测在风险管理中发挥着"事前防洪"的关键作用,通过机器学习模型分析历史代码数据,提前发现潜在缺陷。相比事后处理(成本高达$15,000),事前预测(仅$150)可节省100倍成本。文章介绍了基于Java的缺陷预测器实现方案,包括:1)加载历史缺陷数据;2)提取代码特征;3)训练预测模型;4)预测新代码并生成报告。该工具利用Java的强类型特性和丰富生态,通过静态代码分析实现风险前置管理,能有效降低系统崩溃风险。

墨夶的博客 660
上一篇: 静态仔的挣扎第01天
下一篇: git相关命令
Smart_coding
博客等级 码龄7年 21粉丝 24原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值