JavaWeb学习笔记之JavaScript
JavaWeb学习笔记之JavaScript
文章目录
Javascript的介绍
js特点:
javscript与java的区别
javascript的组成(三部分)
js与html的两种结合方式
js的原始类型和声明变量
js语句
js的运算符
js的数组
js的函数
js的全局变量和局部变量
js中的常见对象
string对象
Array对象
Date对象
Math对象
全局函数
js中的bom和dom对象
bom的对象
dom的对象
DHTML
document对象
element对象
Node对象
innerHTML
相关知识: https://blog.csdn.net/mokexfdgh/article/category/8092196
Javascript的介绍
Javascript:基于对象和事件驱动的语言,应用与客户端(脚本语言) 基于对象->提供好了很多对象,可以直接拿过来使用 事件驱动->html做网站静态效果,js动态效果 客户端:专门指的是浏览器 注:浏览器中的控制台可以调试js代码(区分大小写,html不区分)
js特点:
交互性->信息的动态交互 安全性->js不能访问本地磁盘的文件 跨平台性->支持js的浏览器都可以运行
javscript与java的区别
(1)不同公司开发的,是不用的语言 (2)js是基于对象的,Java是面向对象 //?对象和面向对象的区别 (3)java是强类型的语言,js是弱类型的语言 (4)js只需要解析就可以执行,而java需要先编译成字节码文件,再执行
javascript的组成(三部分)
(1)ECMScript ECMA:欧洲计算机协会 由ECMA组织指定的js的语法,语句… (2)BOM brower object model:浏览器对象模型 (3)DOM document objct model:文档对象模型
js与html的两种结合方式
1.使用一个标签
< script type = " text/javascript" >
alert ( "弹窗" ) ;
script>
2.使用script标签,引入一个外部的js文件(此时script标签里的代码不会执行,只执行js文件的代码)
< script type = " text/javascript" src = " 1.js" > script>
scpript标签的位置:一般放在
后面,以免产生对象为空的错误(浏览器还未解析到js中所使用的对象的哪一行)
js的原始类型和声明变量
1.原始类型:string(字符串),number(数字类型),boolean(true和false) null:获取对象的引用,null表示对象引用为空,所有对象的引用也是Object undifined:定义一个未赋值的变量 2.定义变量关键字:var typeof()运算符:可以查看变量的类型
< script type = " text/javascript" >
var str = "abc" ;
var mm = 123 ;
var flag = true ;
var date = new Data ( ) ;
var x;
alert ( typeof ( str) ) ;
script>
js语句
if判断语句(同java中的if-else语句) switch语句(js中switch支持所有的原始类型,区别于java)
switch(a){
case:1
alert("2");
case:2
alert("2");
default:
alert("other");
}
循环语句(for,while)
while(i>1){
alert(i);
i--;//i++和++i与java中的一样
}
for(var mm=0;mm<=5;mm++){
alert(mm);
}
js的运算符
基本操作和java相同,以下为不同的地方: 1.在js里面不区分整数和小数,123/1000=0.123(java里等于零) 2.数字字符串,相加的时候和java一样(“123”+1->1231),相减时做的是数字的相减运算(“123”-1->122)(不是数字字符串时提示NaN) 3.boolean类型(true:1,false:0) 4. ==和===的区别:==比较的是值,===比较的是值和类型 5.直接向页面输出语句(可以输出变量,固定值和标签代码)
document.write("aaaa");
document.write("< br/> ");//设置标签属性时,标签属性值使用单引号
js的数组
数组的定义方式: (1)var arr = {1,2,“3”,true};//可以存放不同的数据类型 (2)var arr1 = new Array(5);//使用内置对象Array对象,未存放数据 (3)var arr2 = new Array(6,7,8);//使用内置对象Array,并存入六个元素6,7,8 数组的属性:arr.length;//获取数组的长度
js的函数
定义函数的三种方式: 1.使用到关键字function
function 方法名(参数1,参数2,...) {//参数直接用参数名称
方法体;
返回值;//可有可无
}
2.匿名函数
var add = function(参数列表){}
3.适用到js里面的内置对象:Function
var add = new Function("参数列表","方法体和返回值");
方法的重载: 重载->方法名相同,参数不同 重写->方法名相同,参数相同 js的函数不存在重载,会调用方法名相同的最后一个方法 模拟重载的方法:
function add(){//所有传入的参数都会存到arguments数组中
if(arguments.length==2)//传入参数为2个
return arguments[0]+arguments[1];
if(arguments.length==3)//传入参数为3个
return arguments[0]+arguments[1]+arguments[2];
}
add(1,2);
add(1,2,3);
js的全局变量和局部变量
全局变量:在script标签里面定义的一个变量,这个变量在页面中js部分都可以使用(其它的script标签) 局部变量:在方法内部定义的一个变量,只能在方法内部使用
js中的常见对象
string对象
1.创建String对象:var str = “abc”; 2.获取其长度(属性):str.length 3.两类常用方法: (1)与html相关的方法 bold();//加粗字符串 fontcolor(“red”);//字体颜色 fontsize(1-7);//字体大小 link(“1.html”);//将字符串设置成超链接 sub();sup();//下标上标 (2)与java相似的方法 str1.concat(str2);//连接字符串 charAt(i);//返回指定位置的字符 indexOf(“a”);//返回a所在的位置 split(",");//根据,切分字符串,并返回一个字符数组 replace(“a”,“A”);//将a替换成A substr(5,3);//从第五位开始,向后截取三个字符 substring(3,5);//从第三位到第五位,不包含第五位
Array对象
1.创建数组:参考上文(三种方法) 2.获取其长度(属性):arr.length 3.常用方法: concat();//连接数组,返回一个新数组 join("-");//以-分割数组 push(“a”);//向数组末尾添加一个或多个元素,并返回新的长度(添加的是一个数组时,会被当做一个整体元素添加,长度+1) pop();//删除最后一个元素,并返回删除的元素 reverse();//颠倒数组中元素的顺序
Date对象
1.获取当前时间:var date = new Date();//Fri Apr 17 10:40:46 UTC+0800 2016 2.转换为习惯的格式:date.toLocaleString); 3.常用方法: getFullYear();//得到对象的年份 getMonth()+1;//得到当前的月份(0-11) getDay();//得到当前的星期(0-6)从星期日开始 getDate();//得到当前的天 getHours();//得到当前的小时 getminutes();//得到当前的分钟 getSeconds();//得到当前的秒 getTime();//返回1970 1 1至今的毫秒数
Math对象
1.都是静态方法,直接使用Math调用 2.常用方法: ceil(x);//向上舍入 floor(x);//向下舍入 round(x);//四舍五入 random();//得到一个0-1的伪随机数(伪随机数是用确定性的算法计算出来自[0,1]均匀分布的随机数序列) pow(x,y);//x的y次方
全局函数
js的全局函数:不属于任何一个对象,通过方法名称直接使用 常用方法: eval();//执行字符串中的js代码 encodeURI();/decodeURI();//对字符进行编码/解码 encodeURIComponent();/decodeURIComponent();//与上面两个方法相同,编码的字符数量不同 isNaN();//判断当前字符串是否为数字 parseInt();//类型转换
js中的bom和dom对象
bom的对象
bom:broswer object model(浏览器对象模型) 常用对象(使用方法:对象名.属性/方法): navigator:获取客户机(浏览器)的信息 screen:获取屏幕的信息 location:获取请求url的信息(属性:href->获取/设置请求的url地址)
< input type = " button" value = " tiaozhuan" onclick = " href1();" /> //onclick:鼠标点击事件,""中为要执行的方法
funtion href1(){
location.href = "跳转的地址";//设置url地址
}
history:请求的url的记录(属性:back()-上一个,forward()-下一个,go(-1/1)) window:是窗口对象,且是所有bom对象的顶层对象 window.alert();//页面弹出一个框,显示内容->简写alert(); window.confirm(“显示内容”);//确认提示框,返回boolean值 window.prompt(“显示提示内容”,“输入框默认值”);//输入的对话框(少用) window.open(URL,name,features);//打开一个新的窗口(url:打开的地址,name:窗口名字,features:窗口特征(宽高等)) window.opener();//用open打开新窗口后,返回创建此新窗口的窗口(opener是属性) window.close();//关闭窗口,浏览器兼容性差 window.setInterval(“js代码/方法”,毫秒数);//每隔…毫秒就执行一次js代码 window.setTimeout(“js代码/方法”,毫秒数);//在…毫秒之后执行js代码(一次) clearInterval(id);/clearTimeout(id);//清除setInterval/setTimeout设置的定时器(定时器会返回id值)
dom的对象
dom:document object model(文档对象模型) 作用:可以通过使用dom里面提供的对象,使用这些对象的属性和方法,对标记型文档进行操作 dom解析html的原理: 根据html的层级结构,会在内存中分配一个树形结构 树形结构中封装的对象: document->整个html文档 element->标签对象 属性对象 文本对象 Node节点对象(上诉对象的父对象,上诉对象没有想要的方法时使用)
DHTML
DHTML:动态的HTML,不是一门语言,而是多项技术综合的简称 包含的技术: html:封装数据 css:使用属性和属性值设置样式 javascript:专门指的是js的语法语句
document对象
常用方法: document.write();//向页面输出内容或html代码 document.getElementById(“标签的id的值”);//通过id得到其标签对象 document.getElementsByName(“标签的name的属性值”);//返回所有和name值相同的标签对象的数组集合 document.getElementsByTagName(“标签名称”);//返回所有和标签名相同的标签对象的数组集合
对树的基本操作(详见操作Node对象的小节): var li1 = document.creatElement(“标签”);//创建标签节点 var tex1 = document.creatTextNode(“测试”);//创建文本节点 li1.appendChild(tex1);//Node对象的方法,将tex1加到li1下面 ul1.appendChild(li1);//将li1添加到名为ul1的列表下面
element对象
element对象获取方法:通过document对象里面的方法获取 element对象中的常用方法: getAttribute(“属性名”);//获取属性值 setAttribute(“属性名”,“属性值”);//设置属性的属性值 removeAttribute(“属性名”);//删除属性,不能删除 获取列表标签下的子标签:
< ul id = " ulid1" >
< li> aaaa li>
< li> bbbb li>
< li> cccc li>
ul>
< spript type = " text/javaspript" >
var ull1 = document.getElementById("uliid1");
var lis = ull1.childNode;//返回element对象ull1下子类标签的数组(Node对象中的方法,兼容性差)
var lis1 = ull1.getElementsByTagName("li");//唯一有效方法
spript>
Node对象
常见属性(标签,属性,文本封装的对象(节点)都有这些属性): 获取标签对象:var span1 = document.getElementById(“spanid”);//document 获取属性对象:var id1 = span1.getAttributeNode(“id”);//Node 获取文本对象:var text1 = span1.firstChild;//Node nodeName nodeType(标签:1,属性:2,文本:3) nodeValue
< ul id = " ulid" >
< li id = " li1" > qqq li>
< li id = " li2" > www li>
< li id = " li3" > eee li>
ul>
var ul1 = document.getElementById(“ulid”); var li1 = document.getElementById(“li1”); var li2 = document.getElementById(“li2”);
查询dom树的常用方法: li1.parentNode;//获取li1的父节点ulid ul1.firstChild;//获取ul1的第一个子节点li1 ul1.lastChild;//获取ul1的最后一个子节点li3 li2.nextSibling;//获取li2的下一个同辈节点li3 li2.previouSibling;//获取li2的上一个同辈节点li1
操作dom树的相关方法: div1.appendChild(“ul1”);//将ul1节点添加到div1节点末尾 insertBefor(“要插入的节点”,“插入谁之前的节点”);//在某个节点之前插入一个节点(同辈)
var li4 = document.creatElement("标签");//创建标签节点
var tex1 = document.creatTextNode("rrr");//创建文本节点
li1.appendChild(tex1);//Node对象的方法,将tex1加到li1下面
ul1.inserBefor("li4","li2");//将节点li4添加到li2节点之前(同辈)
ul1.removeChild(“li1”);//删除li1节点(通过父节点ul1) replaceChild(newNode,oldNode);//替换节点 cloneNode(boolean);//复制节点true
innerHTML
innerHTML:不是dom的组成部分,但大多数浏览器支持的属性 作用: 1.获取文本内容 2.向标签里面设置内容
var span = document.getElementById("sid");
span.innerHTML;//获取文本内容
var div1 = document.getElementById("div1");
div1.innerHTML = "< h1> AAAA h1> ";//向div里设置内容< h1> AAAA h1>
你可能感兴趣的:(JavaWeb,JavaWeb,JavaScript,学习笔记)
移动端城市区县二级联动选择功能实现包
good2know
本文还有配套的精品资源,点击获取简介:本项目是一套为移动端设计的jQuery实现方案,用于简化用户在选择城市和区县时的流程。它包括所有必需文件:HTML、JavaScript、CSS及图片资源。通过动态更新下拉菜单选项,实现城市到区县的联动效果,支持数据异步加载。开发者可以轻松集成此功能到移动网站或应用,并可基于需求进行扩展和优化。1.jQuery移动端解决方案概述jQuery技术简介jQuery
Unity学习笔记1
zy_777
通过一个星期的简单学习,初步了解了下unity,unity的使用,以及场景的布局,UI,以及用C#做一些简单的逻辑。好记性不如烂笔头,一些关键帧还是记起来比较好,哈哈,不然可能转瞬即逝了,(PS:纯小白观点,unity大神可以直接忽略了)一:MonoBehaviour类的初始化1,Instantiate()创建GameObject2,通过Awake()和Start()来做初始化3,Update、L
用代码生成艺术字:设计个性化海报的秘密
本文围绕“用代码生成艺术字:设计个性化海报的秘密”展开,先概述代码生成艺术字在海报设计中的独特价值,接着介绍常用的代码工具(如HTML、CSS、JavaScript等),详细阐述从构思到实现的完整流程,包括字体样式设计、动态效果添加等,还分享了提升艺术字质感的技巧及实际案例。最后总结代码生成艺术字的优势,为设计师提供打造个性化海报的实用指南,助力提升海报设计的独特性与吸引力,符合搜索引擎SEO标准
Django学习笔记(一)
学习视频为:pythondjangoweb框架开发入门全套视频教程一、安装pipinstalldjango==****检查是否安装成功django.get_version()二、django新建项目操作1、新建一个项目django-adminstartprojectproject_name2、新建APPcdproject_namedjango-adminstartappApp注:一个project
python学习笔记(汇总)
朕的剑还未配妥
python学习笔记整理 python 学习 开发语言
文章目录一.基础知识二.python中的数据类型三.运算符四.程序的控制结构五.列表六.字典七.元组八.集合九.字符串十.函数十一.解决bug一.基础知识print函数字符串要加引号,数字可不加引号,如print(123.4)print('小谢')print("洛天依")还可输入表达式,如print(1+3)如果使用三引号,print打印的内容可不在同一行print("line1line2line
【Druid】学习笔记
fixAllenSun
学习 笔记 oracle
【Druid】学习笔记【一】简介【1】简介【2】数据库连接池(1)能解决的问题(2)使用数据库连接池的好处【3】监控(1)监控信息采集的StatFilter(2)监控不影响性能(3)SQL参数化合并监控(4)执行次数、返回行数、更新行数和并发监控(5)慢查监控(6)Exception监控(7)区间分布(8)内置监控DEMO【4】Druid基本配置参数介绍【5】Druid相比于其他数据库连接池的优点
java web开发实战经典 当当_java web项目实战开发
飞翔的酋长大人
java web开发实战经典 当当
本书以问题为导向,涵盖JavaWeb开发技术中所有的核心知识点;实战开发案例丰富,所有的知识案例都来源于企业真实项目,实战性和可操作性强;代码注释详细准确,结构简洁清晰;语言简明易懂,由浅入深地带你学会JavaWeb技术及应用。本书面向广大Java开发工程师和普通高校学生,可作为高等学校计算机及其相关专业Web编程技术课程教材,也可供从事JavaWeb应用开发的技术人员学习参考。¥80.00定价:
为什么学习Web前端一定要掌握JavaScript?
web前端学习指南
为什么学习Web前端一定要掌握JavaScript?在前端的世界里,没有什么是JavaScript实现不了的,关于JS有一句话:凡是可以用JavaScript来写的应用,最终都会用JavaScript,JavaScript可运行在所有主要平台的所有主流浏览器上,也可运行在每一个主流操作系统的服务器端上。现如今我们在为网站写任何一个主要功能的时候都需要有懂能够用JavaScript写前端的开发人员。
java学习笔记8
幸福,你等等我
学习 笔记 java
一、异常处理Error:错误,程序员无法处理,如OOM内存溢出错误、内存泄漏...会导出程序崩溃1.异常:程序中一些程序自身处理不了的特殊情况2.异常类Exception3.异常的分类:(1).检查型异常(编译异常):在编译时就会抛出的异常(代码上会报错),需要在代码中编写处理方式(和程序之外的资源访问)直接继承Exception(2).运行时异常:在代码运行阶段可能会出现的异常,可以不用明文处理
Java朴实无华按天计划从入门到实战(强化速战版-66天)
岫珩
Java 后端 java 开发语言 学习 Java 时间安排 学习计划
致敬读者感谢阅读笑口常开生日快乐⬛早点睡觉博主相关博主信息博客首页专栏推荐活动信息文章目录Java朴实无华按天计划从入门到实战(强化速战版-66天)1.基础(18)1.1JavaSE核心(5天)1.2数据库与SQL(5天)1.3前端基础(8天)2.进阶(17天)2.1JavaWeb核心(5天)2.2Mybatis与Spring全家桶(6天)2.3中间件入门(4天)2.4实践项目(2天)3.高阶(1
Vue CSR 到 Nuxt 3 SSR 迁移:技术实现与问题解决实录
二倍速播放
前端 vue.js
1.迁移动机与技术选型1.1CSR架构的局限性基于Vue3和Vite构建的客户端渲染(CSR)单页应用(SPA)提供了良好的开发体验和用户交互流畅性。但是其核心局限在于:搜索引擎优化(SEO):初始HTML响应仅包含一个根div元素,实际内容由JavaScript在浏览器端动态生成。虽然主流搜索引擎(如Google)能够执行部分JavaScript,但其抓取效率和稳定性不如直接获取完整HTML。非
12. 什么是事件委托
yqcoder
前端面试-CSS css 面试
总结事件委托(EventDelegation)是JavaScript中一种重要的事件处理机制,它利用了事件冒泡的特性,将事件的处理程序绑定到父元素或祖先元素上,而不是直接绑定到具体的子元素上。什么是事件委托?事件冒泡:在DOM中,事件通常会从触发元素开始,然后逐级向上冒泡到其父元素、祖先元素,直到window对象。核心思想:事件委托的核心思想是利用事件冒泡机制,在父元素上监听事件,而不是在每个子元
2025 最强 Agent 智能体 学习笔记 (71)
一刀7段
学习 笔记 人工智能
Agent智能体的系统学习与职业发展核心内容概览本集是《2025最强Agent智能体全套教程》的第72集,聚焦Agent智能体领域的系统学习方法与职业发展路径,系统梳理了从入门到专家的能力体系、关键学习资源、职业方向选择及行业发展机遇。内容结合技术趋势与职场需求,为不同背景的学习者(学生、开发者、转行人士)提供清晰的成长蓝图,帮助其在Agent智能体领域高效成长,实现职业目标。系统学习的能力体系与
【学习笔记】CBT工作坊第二天:动机驱动行为
花团与芥末
什么叫动机?在认知行为疗法中,动机是引导我们行为的各种外在和内在的力量,唤起行为起始的力量,朝着一定目标与方向进行的力量,维持或停止的力量。也就是说,在我们的所有行为包括没有做的行为背后,都隐藏着某种动机。那么,动机一般有哪些呢?大家一般听说过的,是马斯洛的需求层次理论。在他的金字塔理论中,将动机需求分为了6个层次,从初级到高级分别是:生存(活着的必须条件)--安全(活下去)--爱--尊重--自我
rabbitmq java 乱码,透彻分析和解决一切javaWeb项目乱码问题
前言乱码是我们在程序开发中经常碰到且让人头疼的一件事,尤其是我们在做javaweb开发,如果我们没有清楚乱码产生的原理,碰到乱码问题了就容易摸不着头脑,无从下手。乱码主要出现在两部分,如下:第一,浏览器通过表单提交到后台,如果表单内容有中文,那么后台收到的数据可能会出现乱码。第二,后端服务器需要返回给浏览器数据,如果数据中带有中文,那么浏览器上可能会显示乱码。接下来我们逐一分析乱码产生的原因,以及
图解系统的学习笔记--硬件结构
什么蜜桃绵绵冰
操作系统 学习 笔记
CPU是如何执行程序的?图灵机的工作方式图灵机的基本组成纸带:纸带由一个个连续的格子组成,每个格子可以写入字符,纸带就好比内存,而纸带上的格子的字符就好比内存中的数据或程序读写头:可以读取只带上任意格子的字符,也可以把字符写入到纸带的格子读写头上的部件-存储单元、控制单元、运算单元存储单元用于存放数据控制单元用于识别字符是数据还是指令、以及控制程序的流程等预算单元用于执行运算指令冯诺依曼模型计算机
关于前端的性能优化
性能优化主要涵盖了以下四个方面:(tip:仅代表个人总结,如有不当,还希望看到的大佬多多指示)减少网络请求:合并文件、使用CDN、启用缓存。优化资源加载:代码分割、懒加载、图片压缩。提升渲染性能:减少重绘回流、防抖节流、使用WebWorker。监控和迭代:定期使用工具检测性能,持续优化。一、网络层面优化减少HTTP请求合并文件:将多个CSS或JavaScript文件合并成一个,减少请求次数。使用C
时间组件库Day.js那些事
前端小白花
javascript 开发语言 ecmascript
一、简介1.什么是Day.jsDay.js是一个轻量级,易于使用的JavaScript日期库,提供了强大的日期和时间处理功能,与Moment.js的API设计相似,但具有更高的性能和更小的体积。Day.js官网https://day.js.org/docs/zh-CN/installation/installation2.优势a.特点轻量级:Dayjs的压缩后大小只有2KB左右,远小于Moment
Python 数据可视化神器—Pyecharts
代码输入中...
python echarts 开发语言 数据分析 pycharm
前言Echarts是百度开源的一款数据可视化JS工具,数据可视化类型十分丰富,但是得通过导入js库在JavaWeb项目上运行。作为工作中常用Python的选手,不能不知道这款数据可视化插件的强大。那么,能否在Python中也能用到Echarts的功能呢?寻找中惊喜地发现了pyecharts,只需在python中安装该模块即可使用。安装常用的pip安装包一键安装pyecharts#pyecharts
JavaScript正则表达式去除括号但保留内容与去除括号与内容
Selicens
javascript 正则表达式
项目上碰到一个需求,是取多个递增文件的文件名,类似于test(1).txt、test(2).txt,但是不需要括号,只要test1、test2这种格式,最开始想到的办法就是js里的replace替换,先上一个比较笨但是也能实现效果的例子letname="test(1).txt"letdata=name.split('.')[0].replace('(','').replace(')','')con
Spring学习笔记07——SpringBoot中关于接口文档管理的注解
Shaoxi Zhang
Java spring 学习 笔记
一、Lombok注解@Data:生成所有字段的getter/setter、toString()、equals()和hashCode()。@Getter/@Setter:单独为所有字段或指定字段生成getter/setter。importlombok.Data;@DatapublicclassUser{privateLongid;privateStringname;}编译后,Lombok会为id和n
零基础入门uniapp Vue3组合式API版本
鹤早早
uni-app
前言:小程序学习笔记,课程来源up主咸虾米_。仅记录笔记,大家想学习可以去关注他。1.已安装HBuiderX(目前是4.36版本),微信开发者工具(但还没注册小程序码),相关配置OK了。1.16相关架构学习1.pages-index-index.vuebox1box2.layout{border:1pxsolidred;.box1{border:1pxsolidgreen;}.box2{borde
JavaWeb(苍穹外卖)--学习笔记14
哈哈哈哈哈0627
学习 笔记
前言终于开始学习做项目了,本篇文章是学习B站黑马程序员苍穹外卖的学习笔记。我的学习路线是Java基础语法-JavaWeb-做项目,管理端的功能学习完之后,就进入到了用户端微信小程序的开发,这篇文章是把我觉得JavaWeb的学习中比较重要的内容写一个总结(其实因为学到下单支付太难了我复习复习前面的)Controller层(这里只讲讲几个需要注意的注解)管理服务端的动态资源:SpringFramewo
基于javaweb和MySQL的笔记管理系统
俺是答案
笔记 intellij-idea mysql
要求1.用户1.注册和登入。2.用户可以发布,删除,修改自己的笔记。详细要求:发布笔记时,笔记要有专属的区域,比如这个笔记是文学。区的设置自己定义,大概六个区域就可以了。3.用户可以在首页查看所有的笔记,以及对应分区的笔记。4.允许用户修改自己的信息。5.用户可以收藏,评论,点赞他人的笔记。6.用户可以在用户中心查询自己发布的笔记,评论的笔记,点赞的笔记。详细要求:用户查询笔记时可以点击进去看到详
Langchain学习笔记(十):文档加载与处理详解
注:本文是Langchain框架的学习笔记;不是教程!不是教程!内容可能有所疏漏,欢迎交流指正。后续将持续更新学习笔记,分享我的学习心得和实践经验。前言在构建基于大语言模型的应用时,文档处理是一个至关重要的环节。无论是构建RAG(检索增强生成)系统,还是进行知识库问答,我们都需要将各种格式的文档转换为模型可以理解和处理的形式。Langchain提供了强大的文档加载和处理功能,支持多种文件格式,并提
Langchain学习笔记(十二):Memory机制与对话管理
zhangsan0933
LangChain langchain 学习 笔记
注:本文是Langchain框架的学习笔记;不是教程!不是教程!内容可能有所疏漏,欢迎交流指正。后续将持续更新学习笔记,分享我的学习心得和实践经验。前言在构建智能对话系统时,记忆功能是至关重要的。想象一下,如果每次与AI对话都像第一次见面一样,无法记住之前的交流内容,这样的体验将是多么糟糕。LangChain的Memory机制正是为了解决这个问题而设计的,它让AI能够"记住"对话历史,从而提供更加
网络安全第14集
不灭锦鲤
web安全 安全
前言:小迪安全14集,这集重点内容:0、什么是js渗透测试?在javascript中也存在变量和函数,存在可控变量和函数就有可能存在在漏洞,js开发的web应用和php、java开发的区别是,js能看得到的源代码,php看不到,但是风险就是未授权访问、配置信息泄露(加密算法、key秘钥等),源代码看得到,存在更多的url泄露,从而可能会出现未授权访问,从url,前提:web应用可以采用前端语言或后
25年不倒的“犀牛书“:为什么《JavaScript权威指南第7版》仍是程序员的案头圣经?
阿蒙Armon
javascript 开发语言 ecmascript
25年不倒的"犀牛书":为什么《JavaScript权威指南第7版》仍是程序员的案头圣经?当一本技术书能连续畅销25年,历经7次迭代仍稳坐领域第一梯队,它必然藏着超越时代的硬实力。《JavaScript权威指南(原书第7版)》就是这样一部传奇——豆瓣9.4分的封神之作,程序员口中的"犀牛书",从网景时代到ES2020,它始终是JavaScript开发者的终极参考书。如果你还在为原型链、闭包、异步编
OkHttp学习笔记5--Events
雪晨杰
EventsEventsallowyoutocapturemetricsonyourapplication’sHTTPcalls.Useeventstomonitor:事件允许您捕获应用程序HTTP调用的度量。使用事件来监控:ThesizeandfrequencyoftheHTTPcallsyourapplicationmakes.Ifyou’remakingtoomanycalls,oryour
CTF-Web学习笔记:SQL注入篇
编程到天明
CTF sql 网络安全
目录引言一、SQL注入的基础概念1.什么是SQL注入?2.SQL注入的成因二、CTF中常见的SQL注入类型1.按参数类型分类2.按注入方式分类3.其他进阶类型三、CTF实战技巧:从找注入点到拿Flag1.如何判断是否存在注入?2.快速确定数据库类型3.常用工具辅助4.绕过WAF(Web应用防火墙)四、CTF题目示例:一道报错注入实战题目背景解题步骤五、总结与提升引言在CTF(CaptureTheF
Java序列化进阶篇
g21121
java序列化
1.transient
类一旦实现了Serializable 接口即被声明为可序列化,然而某些情况下并不是所有的属性都需要序列化,想要人为的去阻止这些属性被序列化,就需要用到transient 关键字。
escape()、encodeURI()、encodeURIComponent()区别详解
aigo
JavaScript Web
原文:http://blog.sina.com.cn/s/blog_4586764e0101khi0.html
JavaScript中有三个可以对字符串编码的函数,分别是: escape,encodeURI,encodeURIComponent,相应3个解码函数:,decodeURI,decodeURIComponent 。
下面简单介绍一下它们的区别
1 escape()函
ArcgisEngine实现对地图的放大、缩小和平移
Cb123456
添加矢量数据 对地图的放大、缩小和平移 Engine
ArcgisEngine实现对地图的放大、缩小和平移:
个人觉得是平移,不过网上的都是漫游,通俗的说就是把一个地图对象从一边拉到另一边而已。就看人说话吧.
具体实现:
一、引入命名空间
using ESRI.ArcGIS.Geometry;
using ESRI.ArcGIS.Controls;
二、代码实现.
Java集合框架概述
天子之骄
Java集合框架概述
集合框架
集合框架可以理解为一个容器,该容器主要指映射(map)、集合(set)、数组(array)和列表(list)等抽象数据结构。
从本质上来说,Java集合框架的主要组成是用来操作对象的接口。不同接口描述不同的数据类型。
简单介绍:
Collection接口是最基本的接口,它定义了List和Set,List又定义了LinkLi
旗正4.0页面跳转传值问题
何必如此
java jsp
跳转和成功提示
a) 成功字段非空forward
成功字段非空forward,不会弹出成功字段,为jsp转发,页面能超链接传值,传输变量时需要拼接。接拼接方式list.jsp?test="+strweightUnit+"或list.jsp?test="+weightUnit+&qu
全网唯一:移动互联网服务器端开发课程
cocos2d-x小菜
web开发 移动开发 移动端开发 移动互联 程序员
移动互联网时代来了! App市场爆发式增长为Web开发程序员带来新一轮机遇,近两年新增创业者,几乎全部选择了移动互联网项目!传统互联网企业中超过98%的门户网站已经或者正在从单一的网站入口转向PC、手机、Pad、智能电视等多端全平台兼容体系。据统计,AppStore中超过85%的App项目都选择了PHP作为后端程
Log4J通用配置|注意问题 笔记
7454103
DAO apache tomcat log4j Web
关于日志的等级 那些去 百度就知道了!
这几天 要搭个新框架 配置了 日志 记下来 !做个备忘!
#这里定义能显示到的最低级别,若定义到INFO级别,则看不到DEBUG级别的信息了~!
log4j.rootLogger=INFO,allLog
# DAO层 log记录到dao.log 控制台 和 总日志文件
log4j.logger.DAO=INFO,dao,C
SQLServer TCP/IP 连接失败问题 ---SQL Server Configuration Manager
darkranger
sql c windows SQL Server XP
当你安装完之后,连接数据库的时候可能会发现你的TCP/IP 没有启动..
发现需要启动客户端协议 : TCP/IP
需要打开 SQL Server Configuration Manager...
却发现无法打开 SQL Server Configuration Manager..??
解决方法: C:\WINDOWS\system32目录搜索framedyn.
[置顶] 做有中国特色的程序员
aijuans
程序员
从出版业说起 网络作品排到靠前的,都不会太难看,一般人不爱看某部作品也是因为不喜欢这个类型,而此人也不会全不喜欢这些网络作品。究其原因,是因为网络作品都是让人先白看的,看的好了才出了头。而纸质作品就不一定了,排行榜靠前的,有好作品,也有垃圾。 许多大牛都是写了博客,后来出了书。这些书也都不次,可能有人让为不好,是因为技术书不像小说,小说在读故事,技术书是在学知识或温习知识,有些技术书读得可
document.domain 跨域问题
avords
document
document.domain用来得到当前网页的域名。比如在地址栏里输入:javascript:alert(document.domain); //www.315ta.com我们也可以给document.domain属性赋值,不过是有限制的,你只能赋成当前的域名或者基础域名。比如:javascript:alert(document.domain = "315ta.com");
关于管理软件的一些思考
houxinyou
管理
工作好多看年了,一直在做管理软件,不知道是我最开始做的时候产生了一些惯性的思维,还是现在接触的管理软件水平有所下降.换过好多年公司,越来越感觉现在的管理软件做的越来越乱.
在我看来,管理软件不论是以前的结构化编程,还是现在的面向对象编程,不管是CS模式,还是BS模式.模块的划分是很重要的.当然,模块的划分有很多种方式.我只是以我自己的划分方式来说一下.
做为管理软件,就像现在讲究MVC这
NoSQL数据库之Redis数据库管理(String类型和hash类型)
bijian1013
redis 数据库 NoSQL
一.Redis的数据类型
1.String类型及操作
String是最简单的类型,一个key对应一个value,string类型是二进制安全的。Redis的string可以包含任何数据,比如jpg图片或者序列化的对象。
Set方法:设置key对应的值为string类型的value
Tomcat 一些技巧
征客丶
java tomcat dos
以下操作都是在windows 环境下
一、Tomcat 启动时配置 JAVA_HOME
在 tomcat 安装目录,bin 文件夹下的 catalina.bat 或 setclasspath.bat 中添加
set JAVA_HOME=JAVA 安装目录
set JRE_HOME=JAVA 安装目录/jre
即可;
二、查看Tomcat 版本
在 tomcat 安装目
【Spark七十二】Spark的日志配置
bit1129
spark
在测试Spark Streaming时,大量的日志显示到控制台,影响了Spark Streaming程序代码的输出结果的查看(代码中通过println将输出打印到控制台上),可以通过修改Spark的日志配置的方式,不让Spark Streaming把它的日志显示在console
在Spark的conf目录下,把log4j.properties.template修改为log4j.p
Haskell版冒泡排序
bookjovi
冒泡排序 haskell
面试的时候问的比较多的算法题要么是binary search,要么是冒泡排序,真的不想用写C写冒泡排序了,贴上个Haskell版的,思维简单,代码简单,下次谁要是再要我用C写冒泡排序,直接上个haskell版的,让他自己去理解吧。
sort [] = []
sort [x] = [x]
sort (x:x1:xs)
| x>x1 = x1:so
java 路径 配置文件读取
bro_feng
java
这几天做一个项目,关于路径做如下笔记,有需要供参考。
取工程内的文件,一般都要用相对路径,这个自然不用多说。
在src统计目录建配置文件目录res,在res中放入配置文件。
读取文件使用方式:
1. MyTest.class.getResourceAsStream("/res/xx.properties")
2. properties.load(MyTest.
读《研磨设计模式》-代码笔记-简单工厂模式
bylijinnan
java 设计模式
声明: 本文只为方便我个人查阅和理解,详细的分析以及源代码请移步 原作者的博客http://chjavach.iteye.com/
package design.pattern;
/*
* 个人理解:简单工厂模式就是IOC;
* 客户端要用到某一对象,本来是由客户创建的,现在改成由工厂创建,客户直接取就好了
*/
interface IProduct {
SVN与JIRA的关联
chenyu19891124
SVN
SVN与JIRA的关联一直都没能装成功,今天凝聚心思花了一天时间整合好了。下面是自己整理的步骤:
一、搭建好SVN环境,尤其是要把SVN的服务注册成系统服务
二、装好JIRA,自己用是jira-4.3.4破解版
三、下载SVN与JIRA的插件并解压,然后拷贝插件包下lib包里的三个jar,放到Atlassian\JIRA 4.3.4\atlassian-jira\WEB-INF\lib下,再
JWFDv0.96 最新设计思路
comsci
数据结构 算法 工作 企业应用 公告
随着工作流技术的发展,工作流产品的应用范围也不断的在扩展,开始进入了像金融行业(我已经看到国有四大商业银行的工作流产品招标公告了),实时生产控制和其它比较重要的工程领域,而
vi 保存复制内容格式粘贴
daizj
vi 粘贴 复制 保存原格式 不变形
vi是linux中非常好用的文本编辑工具,功能强大无比,但对于复制带有缩进格式的内容时,粘贴的时候内容错位很严重,不会按照复制时的格式排版,vi能不能在粘贴时,按复制进的格式进行粘贴呢? 答案是肯定的,vi有一个很强大的命令可以实现此功能 。
在命令模式输入:set paste,则进入paste模式,这样再进行粘贴时
shell脚本运行时报错误:/bin/bash^M: bad interpreter 的解决办法
dongwei_6688
shell脚本
出现原因:windows上写的脚本,直接拷贝到linux系统上运行由于格式不兼容导致
解决办法:
1. 比如文件名为myshell.sh,vim myshell.sh
2. 执行vim中的命令 : set ff?查看文件格式,如果显示fileformat=dos,证明文件格式有问题
3. 执行vim中的命令 :set fileformat=unix 将文件格式改过来就可以了,然后:w
高一上学期难记忆单词
dcj3sjt126com
word english
honest 诚实的;正直的
argue 争论
classical 古典的
hammer 锤子
share 分享;共有
sorrow 悲哀;悲痛
adventure 冒险
error 错误;差错
closet 壁橱;储藏室
pronounce 发音;宣告
repeat 重做;重复
majority 大多数;大半
native 本国的,本地的,本国
hibernate查询返回DTO对象,DTO封装了多个pojo对象的属性
frankco
POJO hibernate查询 DTO
DTO-数据传输对象;pojo-最纯粹的java对象与数据库中的表一一对应。
简单讲:DTO起到业务数据的传递作用,pojo则与持久层数据库打交道。
有时候我们需要查询返回DTO对象,因为DTO
Partition List
hcx2013
partition
Given a linked list and a value x, partition it such that all nodes less than x come before nodes greater than or equal to x.
You should preserve the original relative order of th
Spring MVC测试框架详解——客户端测试
jinnianshilongnian
上一篇《Spring MVC测试框架详解——服务端测试》已经介绍了服务端测试,接下来再看看如果测试Rest客户端,对于客户端测试以前经常使用的方法是启动一个内嵌的jetty/tomcat容器,然后发送真实的请求到相应的控制器;这种方式的缺点就是速度慢;自Spring 3.2开始提供了对RestTemplate的模拟服务器测试方式,也就是说使用RestTemplate测试时无须启动服务器,而是模拟一
关于推荐个人观点
liyonghui160com
推荐系统 关于推荐个人观点
回想起来,我也做推荐了3年多了,最近公司做了调整招聘了很多算法工程师,以为需要多么高大上的算法才能搭建起来的,从实践中走过来,我只想说【不是这样的】
第一次接触推荐系统是在四年前入职的时候,那时候,机器学习和大数据都是没有的概念,什么大数据处理开源软件根本不存在,我们用多台计算机web程序记录用户行为,用.net的w
不间断旋转的动画
pangyulei
动画
CABasicAnimation* rotationAnimation;
rotationAnimation = [CABasicAnimation animationWithKeyPath:@"transform.rotation.z"];
rotationAnimation.toValue = [NSNumber numberWithFloat: M
自定义annotation
sha1064616837
java enum annotation reflect
对象有的属性在页面上可编辑,有的属性在页面只可读,以前都是我们在页面上写死的,时间一久有时候会混乱,此处通过自定义annotation在类属性中定义。越来越发现Java的Annotation真心很强大,可以帮我们省去很多代码,让代码看上去简洁。
下面这个例子 主要用到了
1.自定义annotation:@interface,以及几个配合着自定义注解使用的几个注解
2.简单的反射
3.枚举
Spring 源码
up2pu
spring
1.Spring源代码
https://github.com/SpringSource/spring-framework/branches/3.2.x
注:兼容svn检出
2.运行脚本
import-into-eclipse.bat
注:需要设置JAVA_HOME为jdk 1.7
build.gradle
compileJava {
sourceCompatibilit
利用word分词来计算文本相似度
yangshangchuan
word word分词 文本相似度 余弦相似度 简单共有词
word分词提供了多种文本相似度计算方式:
方式一:余弦相似度,通过计算两个向量的夹角余弦值来评估他们的相似度
实现类:org.apdplat.word.analysis.CosineTextSimilarity
用法如下:
String text1 = "我爱购物";
String text2 = "我爱读书";
String text3 =