JS
JS
javascript的简介
是基于对象和事件驱动的语言,应用于客户端
基于对象:提供了好多对象,可以直接拿来使用
事件驱动:html做网站静态效果,javascript动态效果
客服端:专门指的是浏览器
js的特点
a 交互性:信息的动态交互
b 安全性:js不能访问本地磁盘的文件
c 跨平台性:java里面跨平台性,虚拟机,只要能够支持js的浏览器,都可以运行
javascript和java的区别:
1. 不同公司开发的
2.javascript是基于对象的,java是面向对象
3.java是强类型的语言,js是弱类型的语言
4.javascript只需解析就可以执行,而java需要先编译成字节码文件,再执行
javascript的组成
1.ECMAScript:
ECMA:欧洲计算机协会,制定的js的语法,语句
2.BOM:浏览器对象模型
3.DOM:文档对象模型
js和html的结合方式
1.使用一种标签
2.使用script标签,引入一个外部的js文件
创建一个js文件,写js代码
js的原始类型和声明变量
js的原始数据类型
定义变量 都使用关键字 var
1.String:字符串
var str ="abc";
2.number: 数字类型
var m =123;
3.boolean:true和false
var flag=true;
4.null
var date =new Date();
获取对象的引用,null表示对象引用为空,所有对象的引用也是object
5.undifined
定义一个变量,没有赋值
var aa;
typeof(); 查看当前变量的数据类型
js的语句
1.if判断语句
2.switch语句
switch(a){
case 5:
break;
case 6:
break;
default;
}
3.循环语句 for while do-while
while循环
var i=5;
while(i>1){
alert(i);
i--;
}
for循环
for(var mm=0;mm<=3;mm++){
}
js的运算符
1.js里面不区分整数和小数
var j =123;
alert(j/1000*1000);
在java中得到的结果是0
在js里面不区分整数和小数。123/1000=0.123*1000=123
2.字符串的相加和相减的操作
var str="456";
alert(str+1); 在java和js中的结果都是4561
alert(str-1); 相减的时候,执行减法的运算
3.boolean类型也可以操作
如果设置成true,相当于这个值是1
如果设置成false,相当于这个值是0
4.==和===的区别
==比较的是值
===比较的是值和类型
5.引入知识
直接向页面输出的语句
document.write("aaaa");
可以向页面输出变量,固定值和html代码
js的数组
定义方式(三种)
1. var arr ={1,2,3} var arr={1,"4",true}
2.使用内置对象 Array对象
var arr1 =new Array(5);
arr1[0]=1
3.使用内置对象 Array对象
var arr2=new Array(3,4,5)
数组里面有一个属性 length:获取到数组的长度
数组可以存放不同的数据类型的数据
js的函数
js里面定义函数有三种方法
1.使用一个关键字function
function 方法名 (参数列表){
方法体
返回值可有可无(根据实际需要);
}
2.匿名函数
var add =function{
方法体和返回值
}
3.动态函数
使用js里面的一个内置对象Function
var add =new Function("参数列表","方法体和返回值");
js的全局变量和局部变量
全局变量:在script标签里面定义一个变量,这个变量在页面中js部分都可以使用
在方法外部使用,在方法内部使用,在另一个script标签使用
局部变量:在方法内部定义一个变量,只能在方法内部使用
如果在方法的外部调用这个变量,提示出错
script标签的位置
建议把script标签放到
后面
如果现在有这样一个要求:
在js里面需要获取到input里面的值,如果把script标签放到head里面
会出问题
html解析是从上到下解析的,script标签放到的是head里面,直接在里面取input里面的值
因为页面还没有解析到input那一行,肯定取不到
js的重载
什么是重载? 方法名相同,参数列表不同
js里面是否有重载
js的String对象
创建string对象
var str ="abc";
属性:length 字符串的长度
方法:
1.与html相关的方法
bold():加粗
fontcolor():设置字符串的颜色
fontsize():设置字体的大小
link():将字符串显示成超链接
sub() sup(): 下标和上标
2.与java相似的方法
concat():连接字符串
var str1="abc";
var str2="dfg";
document.write(str1.concat(str2));
charAt():返回指定指定位置的字符串
indexOf(): 返回字符串位置
split():切分字符串,成数组
replace(): 替换字符串
传递两个参数
第一个参数是原始字符
要替换成的字符
var str6="abcd";
document.write( str6.replace("a","Q"));
substr() substring()
var str7="abcdefghijkl"
document.write(str7.substr(5,5)); 从第5位开始,向后截取五个字符
document.write(str7.substring(3,5)); 从第几位开始到第几位结束 【3,5)
js的Array对象
创建数组(三种)
var arr1= [1,2,3];
var arr2=new Array(3);
var arr3=new Array(1,2,3);
属性:length: 查看数组的长度
方法:
concat方法:数组的连接
var arr1=[1,2,3];
var arr2=[4,5,6];
document.write(arr1.concat(arr2));
join():根据指定的字符分割数组
var arr13=new Array(3);
arr13[0]="a";
arr13[1]="b";
arr13[2]="c";
document.write(arr13);
document.write(" ")
document.write(arr13.join("-"));
document.write("
")
push方法:向数组末尾添加元素,返回数组的新的长度
如果添加的是一个数组,这个时候把数组当做一个整体字符串添加进去
var arr15=["aaa","bbb","ccc"];
var arr16=["www","qqq"];
document.write("old array:"+arr15);
document.write("old length:"+arr15.length);
document.write("new length:"+arr15.push(arr16));
document.write("new array:"+arr15);
for(var i=0;i
alert(arr15[i]);
}
pop():删除最后一个元素,返回删除的那个元素
var arr17=["zhangsan","lisi","wangwu","zhaoliu"];
document.write("old array:"+arr17);
document.write("return:"+arr17.pop());
document.write("new array:"+arr17);
reverse():颠倒数组中的元素的顺序
js的Date对象
js里面获取当前时间
var date=new Date();
document.write(date);
document.write(date.toLocaleString());
获取当前的年
getFullYear():
document.write("year:"+date.getFullYear());
获取当前的月方法
getMonth():
返回的是0-11,如果想要得到准确的值需要+1;
var date1=date.getMonth()+1;
document.write("Month:"+date1);
获取当前的星期
getDay()
返回的是0-6,星期日返回的是0,
document.write("week:"+getDay());
获取当前的日:
getDate()
返回的是1-31
document.write("day:"+getDate());
获取当前的小时
getHours()
获取当前的分钟:
getMinutes()
获取当前的秒:
getSeconds()
获取毫秒数
getTime()
返回的是1970 1 1 至今的毫秒数
document.write("times"+getTime());
js的Math对象
对象里面的都是静态对象,使用可以直接使用Math.方法()
ceil(x):向上舍人
floor(x):向下舍入
round(x):四舍五入
random():得到随机数(伪随机数)
得到0-9的随机数
document.write(Math.floor(Math.random()*10));
js的全局函数
由于不属于任何一个对象,直接写名称使用
eval(): 执行js代码(如果字符串是一个js代码,使用方法直接执行)
var str="alert('1234');";
eval(str);
encodeURI():对字符进行编码
decoderURI():对字符进行解码
isNaN():判断当前字符串是否是数字
var str="aaaa";
alert(isNaN(str));
如果是数字,返回false
如果不是数字,返回true
passInt():类型转换
var str3="123";
document.write(parseInt(str3)+1)
js的重载
什么是重载? 方法名相同,参数不同
js的重载是否存在? 不存在
调用最后一个方法
把传递的参数保存到arguments数组里面
js里面是否存在重载?
1.js里面不存在重载
2.但是可以通过其他方式模拟重载 arguments
js的bom对象
bom:浏览器对象模型
有哪些对象:
navigator:获取客户机的信息
screen:获取屏幕的信息
location:请求url地址
href属性
获取到请求的url地址
设置url地址
页面安置一个按钮,按钮上绑定一个事件,当我点击这个按钮,页面可以跳转到另一个页面
history:请求的url的历史记录
到访问的上一个页面
history.back();
到访问的下一个页面
history.back();
window():
js的dom对象
dom: 文档对象模型
文档:
超文本文档,html,xml
对象:
提供了属性和方法
模型:使用属性和方法操作超文本标记型文档
可以使用js里面的dom里面提供的对象,使用这些对象的属性和方法,对标记型文档进行操作
想要对标记型文档进行操作,首先需要 对标记型文档里面的所有内容封装成对象
需要把html里面的标签,属性,文本内容都封装成对象
DOM模型
DOM level 1:将html文档封装成对象
DOM level 2:在level 1的基础上添加新的功能,例如:对事件和css样式的支持
DOM level 3: 支持xm11.0的一些新特性
DHTML
是很多技术的简称
html:封装数据
css:使用属性和属性值设置样式
dom:操作html文档
javascript:专门指的是js的语法语句
document对象
表示整个的文档
常用方法:
write()方法:
1.向页面输出变量(值)
2.向页面输出html代码
getElementById();
通过id得到元素(标签)
//使用 getElementById得到input标签
var input1=document. getElementById("nameid");
//得到input里面的value值
alert(input1.name);
//向input里面设置一个值value
input1.value="bbbbb";
getElementsByName();
通过标签的name的属性值得到的标签
返回的是一个集合(数组)
var inputs =document.getElementByName("name1"); //传递的参数是 标签里面的name的值
for(var i=0;i
var input1=input[i]; //每次循环得到的input对象,赋值到input1里面
alert(input1.value); //得到每个input标签里面的value值
}
getElementByTagName("标签名称");
通过标签的名称得到元素
元素对象(element对象)
要操作element对象,首先必须要获取到element
使用document里面相应的方法获取
方法:
获取属性里面的值
getAttribute("属性名称 ")
var input1=document.getElementById("inputid");
//alert(input1.value);
alert(input1.getAttribute("value"));
设置属性的值
input1.setAttribute("class","haha");
删除属性
input1.removeAttribute("name");
不能删除value
想要获取标签下面的子标签
使用属性childNodes,但是这个属性兼容性很差
获的标签下面子标签的唯一方法,使用getElementsByTagName方法
Node对象属性
nodename
nodeType
nodeValue
使用dom解析html时候,需要html里面的标签,属性和文本都封装成对象
标签节点对应的值:
nodeType:1
nodeName:大写标签名称 比如span
nodeValue:null
属性节点对应的值:
nodeType:2
nodeName:属性名称
nodeValue:属性的值
文本节点对应的值
nodeType:3
nodeName:#text
nodeValue:文本内容
Node对象的属性二
qqqqq
wwww
父节点
ul是li的父节点
parentNode
//得到li1
var li1 =document.getElmentById("li1");
var ul1=li1.parentNode;
alert(ul1.id);
子节点
li是ul的子节点
childNodes:得到所有的子节点,但兼容性很差
firstChild:获取第一个子节点
lastChild:获取最后一个子节点
同辈节点
li直接关系是同辈节点
nextSibling:返回一个给定节点的下一个兄弟节点
previousSibling:返回上一个给定节点的上一个兄弟节点
innerHTML属性
这个属性不是dom的组成部分,但大多数浏览器都支持的属性
第一个作用:获取文本内容
//获取span标签
var span1=document.getElementById("sid");
alert(span1.innerTML)
第二个作用:向标签里面设置内容 (可以是html代码)
//向div里面设置内容
AAAA
//获取div
var div11=document.getElmentById("div11");
//设置内容
div11.innerHTML="
AAAA ";
你可能感兴趣的:(JS)
spark sql的练习题
a大数据yyds
spark spark
1、使用StructuredStreaming读取Socket数据,把单词和单词的反转组成json格式写入到当前目录中的file文件夹中2、请使用StructuredStreaming读取student_info文件夹写的csv文件,2.1、统计出文件中的男女生各有多少人2.2、统计出姓“王”男生和女生的各有多少人3、请使用StructuredStreaming读取department_info文
gRPC协议简介
xidianhuihui
golang
gRPC是谷歌开源的一套RPC协议框架。主要做两件事情:一是数据编码,二是请求映射。数据编码数据编码顾名思义就是在将请求的内存对像转化成可以传输的字节流发给服务端,并将收到的字节流再转化成内存对像。方法有很多,常见的有XML、JSON、Protobuf。XML已经日薄西山,JSON风头正盛,Protobuf则方兴未艾。gRPC默认选用Protobuf,早期貌似只支持Protobuf,现在号称也支持
大侠,你真的了解JS中的toString&toLocaleString方法吗?
不做超级小白
web前端 javascript 前端 开发语言
toString()与toLocaleString()的区别:你需要了解的JavaScript字符串化方法在JavaScript中,toString()和toLocaleString()都是对象转换为字符串的常用方法。虽然它们的功能看似相似,但实际上它们有着不同的用途和行为。本文将详细解析这两者的区别,帮助开发者更好地理解并选择适合的字符串化方法。1.toString()方法:目的:toStrin
运行c程序报preLaunchTask“C/C++: gcc 生成活动文件“已终止,退出代码为 -1。
如若123
c语言 c++ 开发语言
出现preLaunchTask“C/C++:gcc生成活动文件"已终止,退出代码为-1错误,意味着编译任务在运行时失败。为了解决这个问题,我们可以从以下几个方面检查和修复问题:1.检查tasks.json配置确保tasks.json配置正确,尤其是源文件路径、编译命令和选项。你可以参考以下完整的tasks.json示例:{"version":"2.0.0","tasks":[{"type":"cp
转帖-在Eclipse中开发JSF
ren_z_q
JSF Eclipse Bean JSP Oracle
(转自http://www.blogjava.net/gaofeng/articles/127842.html作者:Java.net)Eclipse3.3刚刚发布,正在学习JSF,于是使用Eclipse3.3做了一个JSF的Demo,很简单,主要是页面的跳转、组件和Bean的绑定等基础...1、工具准备:Eclipse3.3WTP2.0(最好下载一个all-in-one的版本..省的麻烦)...依
package.json依赖包漏洞之yargs-Parser输入验证错误漏洞
漏洞安全
背景有个安全扫描的流水线,扫描了负责的项目之后,发现一些漏洞。需要说明的是,这个扫描只是针对package.json文件。扫的是依赖树,而不是项目源代码,也不是打包后的代码。但既然是漏洞,都是可以好好学习下的。yargs-Parser输入验证错误漏洞(CVE-2020-7608)被扫描出来的是下面这样的:详情请查看:package.json依赖包漏洞之yargs-Parser输入验证错误漏洞
package.json依赖包漏洞之nodejs-glob-parent正则表达式拒绝服务漏洞
漏洞安全前端
背景有个安全扫描的流水线,扫描了负责的项目之后,发现一些漏洞。需要说明的是,这个扫描只是针对package.json文件,扫的是依赖树,而不是项目源代码,也不是打包后的代码。但既然是漏洞,都是可以好好学习下的。nodejs-glob-parent正则表达式拒绝服务漏洞(CVE-2020-28469)被扫描出来的是下面这样的:从阿里云漏洞库中可以知道具体是什么漏洞。CVE-2020-28469漏洞的
Serverless Plugin Optimize 使用指南
舒林艾Natalie
ServerlessPluginOptimize使用指南serverless-plugin-optimize⛔️DEPRECATED⛔️BundlewithBrowserify,transpileandminifywithBabelautomaticallytoyourNodeJSruntimecompatibleJavaScript项目地址:https://gitcode.com/gh_mirr
项目推荐:Serverless优化插件 —— 提升您的云函数性能与效率
井队湛Heath
项目推荐:Serverless优化插件——提升您的云函数性能与效率serverless-plugin-optimize⛔️DEPRECATED⛔️BundlewithBrowserify,transpileandminifywithBabelautomaticallytoyourNodeJSruntimecompatibleJavaScript项目地址:https://gitcode.com/gh
请简述vue2和vue3的区别
youhebuke225
vue面试题 vue.js 前端 javascript
Vue2和Vue3作为Vue.js框架的两个主要版本,在多个方面存在显著的差异。以下是它们之间主要区别的详细概述:生命周期函数钩子:Vue2:包含了一系列的生命周期钩子函数,如beforeCreate、created、beforeMount等,这些函数在组件的不同生命周期阶段被调用。Vue3:对生命周期函数进行了调整,setup成为了新的入口点,代替了beforeCreate和created。同时
实际开发中的有趣bug:“undefined“ is not valid JSON SyntaxError: “undefined“ is not valid JSON。
我爱加班、、
vue项目实际开发中的bug vuex bug json 前端 javascript vue.js ecmascript ajax
bug解读:指出在尝试解析或序列化JSON数据时遇到了问题。JSON(JavaScriptObjectNotation)是一种轻量级的数据交换格式,它要求数据必须是有效的JSON格式。在JavaScript中,undefined是一个特殊的值,表示变量没有被赋值,它不是一个有效的JSON值。场景:在后台项目,用户登录后,通过用户的菜单权限渲染侧边栏菜单,做了持久化存储。当登出后,在登录页刷新页面,
vue-cli项目中使用Electron
骆驼Lara
Vue vue.js electron javascript
Vue项目中使用Electron一、安装二、创建background.js三、创建preload.js文件四、修改package.json文件五、修改vue.config.js文件六、启动1本地启动2打包补充:一、安装安装electron,electron-builder,vue-cli-plugin-electron-builder,electron-devtoolsnpmi--save-dev
Vue企业开发实战——学习心得
sienn
vue.js 前端 javascript
一、Vue.js简介Vue.js是一个渐进式JavaScript框架,用于构建用户界面。它与其他大型框架的不同之处在于,Vue被设计为可以自底向上逐层应用。Vue的核心库只关注视图层,不仅易于上手,也便于与第三方库或已有项目整合。二、环境配置安装Node.js和npm:Vue.js的开发需要使用Node.js和npm(Node包管理器)。可以从Node.js的官网下载并安装Node.js,它会自动
前端构建工具
光影少年
前端 软件构建
前端构建工具是开发现代Web应用时不可或缺的工具,用于优化代码、提升开发效率、以及实现高效的构建和部署。以下是常见的前端构建工具及其作用:1.模块打包工具Webpack特点:功能强大,插件与配置灵活。作用:将模块(JS、CSS、图片等)打包成浏览器可运行的文件。适用场景:中大型项目,需高度自定义。Vite特点:轻量、快速构建,基于ESModules。作用:适合现代框架如Vue、React,热更新速
node和nest生态及区别和优势
光影少年
node.js 后端
Node.js与Nest.js的生态与区别及优势1.Node.js生态Node.js是一个基于V8引擎的JavaScript运行时,支持高性能、非阻塞I/O,用于构建服务器端应用程序。生态特点核心模块:提供基础模块(如fs,http,events等),可以直接用于开发。允许构建高性能网络应用,如Web服务器、API服务等。NPM(NodePackageManager):全球最大的包管理器,提供丰富
Vue.js组件开发详解
小俊学长
vue.js flutter 前端
Vue.js组件开发详解Vue.js是一个用于构建用户界面的渐进式框架,其核心思想是通过数据驱动视图的变化,同时提供了一系列强大的工具来帮助开发者高效地开发复杂的单页应用。在Vue.js中,组件是构建复杂应用的基本单元,通过组件化开发,我们可以将应用拆分成可复用的、独立的模块,从而提高开发效率和代码的可维护性。本文将详细讲解Vue.js组件的开发过程,从基础概念到高级技巧,全面覆盖组件开发的各个方
Vue.js如何阻止事件冒泡
JhzDev
vue.js 前端 javascript Vue.Js
事件冒泡是指当一个元素上的事件被触发时,该事件会从该元素开始向上层元素逐级触发,直至到达文档根节点。在Vue.js中,我们可以使用事件修饰符来阻止事件冒泡。下面我将详细介绍如何在Vue.js中实现事件冒泡的阻止。首先,让我们创建一个简单的Vue.js应用程序,以便演示事件冒泡的问题和解决方案。在HTML中,我们将创建一个包含两个嵌套元素的div,每个元素都绑定了点击事件。当点击内部元素时,我们希望
计算机毕业设计之jsp影视推荐系统
我的微信bishe911
课程设计 java 开发语言 mysql jsp
随着信息化时代的到来,网络系统都趋向于智能化、系统化,影视推荐系统也不例外,但目前国内的很多行业仍使用人工管理,影视信息量也越来越庞大,人工管理显然已无法应对时代的变化,而影视推荐系统能很好地解决这一问题,轻松的对影视信息进行评分,既能提高用户对影视推荐的了解,又能快捷的查看影视信息,取代人工管理是必然趋势。本影视推荐系统以SSM作为框架,B/S模式以及MySql作为后台运行的数据库。本系统主要包
Vue.js组件开发研究
清北互联木材
vue.js
摘要随着前端技术的快速发展,Vue.js以其轻量级、高性能和组件化开发的优势,在前端开发领域占据了重要地位。本研究深入探讨了Vue.js组件开发的理论基础、开发方法以及实际应用。通过系统梳理Vue.js框架的核心特性、组件化思想及Vue.js组件的基本概念,本研究为Vue.js组件开发提供了全面的理论支撑。进一步地,本研究详细介绍了Vue.js组件的设计原则、组成要素及组件之间的关系,并阐述了组件
什么是vue.js组件开发,我们需要做哪些准备工作?
大懒猫软件
vue.js
Vue.js是一个非常流行的前端框架,用于构建用户界面。组件开发是Vue.js的核心概念之一,通过将界面拆分为独立的组件,可以提高代码的可维护性和复用性。以下是一个详细的Vue.js组件开发指南,包括基础概念、开发流程和代码示例。一、Vue.js组件开发基础1.组件的基本结构Vue.js组件是一个独立的、可复用的UI元素。每个组件都有自己的模板、逻辑和样式。组件的基本结构如下:vue复制{{tit
vscode 顶部 Command Center,minimap
AI算法网奇
python基础 python宝典 vscode ide 编辑器
目录vscode顶部CommandCenter设置显示步骤:minimap设置方法一:使用设置界面方法二:使用命令面板方法三:编辑settings.json文件左侧目录树和编辑器字体不一致:OPENEDITORSvscode顶部CommandCenterVisualStudioCode(VSCode)中的CommandCenter是一个集中管理命令和功能的工具,如果顶部没有显示,你可以按照以下步骤
GB/T28181 全栈开发日记[6]:React 快速接入 jessibuca.js 播放器
gospace
从 0 到实现 GB/T 28181 协议的完整实践 javascript react.js 前端 golang 音视频
GB/T28181全栈开发日记[6]:React快速接入jessibuca.js播放器服务端源代码github.com/gowvp/gb28181前端源代码github.com/gowvp/gb28181_web介绍GoWVP(GolangWebVideoPlatfrom)是一个Go语言实现的,基于GB28181-2022标准实现的网络视频平台,负责实现核心信令与设备管理后台部分,支持海康、大华、
Jetty切Tomcat部署应用之根路径/总是跳转index页面
upcdxlq
tomcat java 服务器
问题描述项目之前在Jetty下运行的,http://ip:port/context/原本是进入到Controller的@RequestMappin(“/”)方法的,但部署到Tomcat下,总是跳转到index.jsp问题分析1、访问应用的其他路径都正常,这个请求压根没有得到DispatchServlet处理,默认返回index.jsp,应该是tomcat配置问题2、那是不是应用的web.xml里配
arcgis api for js 加载google地图
upcdxlq
1、google地图服务地址说明http://mt.google.cn/vt/lyrs=s@112&hl=zh-CN&gl=cn//卫星地图服务http://mt.google.cn/vt/lyrs=h@177000000&hl=zh-CN&gl=cn//地区名称矢量地图服务http://mt.google.cn/vt/lyrs=m@112&hl=zh-CN&gl=cn//矢量地图服务2、自定义加
springmvc继承Converter格式化时间不起作用
牛十二
oracle 数据库 mybatis
JSONparseerror:Cannotdeserializevalueoftype`java.util.Date`fromString"2018-10-1921:33:16":notavalidrepresentation(error:FailedtoparseDatevalue'2018-10-1921:33:16':Cannotparsedate"2018-10-1921:33:16":w
JavaScript原型链污染漏洞分析
漏洞安全
原型链污染漏洞CVE:1、yargs-Parser输入验证错误漏洞(CVE-2020-7608)2、tough-cookie安全漏洞(CVE-2023-26136)3、JSON5原型污染漏洞(CVE-2022-46175)漏洞描述:1、yargs-Parser输入验证错误漏洞(CVE-2020-7608):yargs-parser是一款选项解析器。yargs-parser13.1.2之前版本、14
nvm--npm ERR! Unexpected token '.'
node.js
背景在windows电脑上安装了nvm后,通过nvm安装了两个版本的node.js。大部分项目用的是v14版本,而另一个项目用的是v16版本。当切换到v16版本的node.js后,然后想通过npm安装pnpm,结果报错了。npmERR!Unexpectedtoken'.'解决过程在大部分项目下,也就是node.js的版本是v14的时候,npm安装是没问题的。为啥切换到v16版本后,npm安装就报错
Nginx部署前端Vue项目的深度解析
egekm_sefg
前端 vue.js nginx
目录一、准备工作1.1开发环境1.2服务器环境1.3Nginx安装二、构建Vue项目三、上传静态文件到服务器四、配置Nginx五、测试并重新加载Nginx六、访问Vue应用七、高级配置7.1启用HTTPS7.2启用Gzip压缩7.3缓存控制八、常见问题与解决方案8.1404错误8.2权限问题8.3跨域问题九、总结在现代Web开发中,Vue.js因其组件化、响应式数据绑定和易于上手的特点,成为了前端
FastAPI介绍
-zZR
fastapi python
1.fastapi介绍一个用于构建API的现代、快速(高性能)的web框架。特点快速:可与NodeJS和Go并肩的极高性能(归功于Starlette和Pydantic)。最快的Pythonweb框架之一。高效编码:提高功能开发速度约200%至300%。更少bug:减少约40%的人为(开发者)导致错误。智能:极佳的编辑器支持。处处皆可自动补全,减少调试时间。简单:设计的易于使用和学习,阅读文档的时
一、新手学习爬虫第一课 对网站发起请求(基于python语言)
[木子加贝]
python自学 爬虫 学习 爬虫 python 开发语言 后端
目录前言一、安装并引用请求模块requests1.安装请求模块2.引用requests请求模块3.引用requests请求模块并使用别名二、发起请求1.对网站发起get请求(最常用的请求):(1)第一种方法(字符串)(2)第二种方法(变量)(3)第三种方法(关键字传参)2.对网站发起带参数的get请求:3.对网站发起post请求:4.对网站发JSON数据的post请求:4.注意事项总结前言爬虫的本
辗转相处求最大公约数
沐刃青蛟
C++ 漏洞
无言面对”江东父老“了,接触编程一年了,今天发现还不会辗转相除法求最大公约数。惭愧惭愧!
为此,总结一下以方便日后忘了好查找。
1.输入要比较的两个数a,b
忽略:2.比较大小(因为后面要的是大的数对小的数做%操作)
3.辗转相除(用循环不停的取余,如a%b,直至b=0)
4.最后的a为两数的最大公约数
&
F5负载均衡会话保持技术及原理技术白皮书
bijian1013
F5 负载均衡
一.什么是会话保持? 在大多数电子商务的应用系统或者需要进行用户身份认证的在线系统中,一个客户与服务器经常经过好几次的交互过程才能完成一笔交易或者是一个请求的完成。由于这几次交互过程是密切相关的,服务器在进行这些交互过程的某一个交互步骤时,往往需要了解上一次交互过程的处理结果,或者上几步的交互过程结果,服务器进行下
Object.equals方法:重载还是覆盖
Cwind
java generics override overload
本文译自StackOverflow上对此问题的讨论。
原问题链接
在阅读Joshua Bloch的《Effective Java(第二版)》第8条“覆盖equals时请遵守通用约定”时对如下论述有疑问:
“不要将equals声明中的Object对象替换为其他的类型。程序员编写出下面这样的equals方法并不鲜见,这会使程序员花上数个小时都搞不清它为什么不能正常工作:”
pu
初始线程
15700786134
暑假学习的第一课是讲线程,任务是是界面上的一条线运动起来。
既然是在界面上,那必定得先有一个界面,所以第一步就是,自己的类继承JAVA中的JFrame,在新建的类中写一个界面,代码如下:
public class ShapeFr
Linux的tcpdump
被触发
tcpdump
用简单的话来定义tcpdump,就是:dump the traffic on a network,根据使用者的定义对网络上的数据包进行截获的包分析工具。 tcpdump可以将网络中传送的数据包的“头”完全截获下来提供分析。它支 持针对网络层、协议、主机、网络或端口的过滤,并提供and、or、not等逻辑语句来帮助你去掉无用的信息。
实用命令实例
默认启动
tcpdump
普通情况下,直
安卓程序listview优化后还是卡顿
肆无忌惮_
ListView
最近用eclipse开发一个安卓app,listview使用baseadapter,里面有一个ImageView和两个TextView。使用了Holder内部类进行优化了还是很卡顿。后来发现是图片资源的问题。把一张分辨率高的图片放在了drawable-mdpi文件夹下,当我在每个item中显示,他都要进行缩放,导致很卡顿。解决办法是把这个高分辨率图片放到drawable-xxhdpi下。
&nb
扩展easyUI tab控件,添加加载遮罩效果
知了ing
jquery
(function () {
$.extend($.fn.tabs.methods, {
//显示遮罩
loading: function (jq, msg) {
return jq.each(function () {
var panel = $(this).tabs(&
gradle上传jar到nexus
矮蛋蛋
gradle
原文地址:
https://docs.gradle.org/current/userguide/maven_plugin.html
configurations {
deployerJars
}
dependencies {
deployerJars "org.apache.maven.wagon
千万条数据外网导入数据库的解决方案。
alleni123
sql mysql
从某网上爬了数千万的数据,存在文本中。
然后要导入mysql数据库。
悲剧的是数据库和我存数据的服务器不在一个内网里面。。
ping了一下, 19ms的延迟。
于是下面的代码是没用的。
ps = con.prepareStatement(sql);
ps.setString(1, info.getYear())............;
ps.exec
JAVA IO InputStreamReader和OutputStreamReader
百合不是茶
JAVA.io操作 字符流
这是第三篇关于java.io的文章了,从开始对io的不了解-->熟悉--->模糊,是这几天来对文件操作中最大的感受,本来自己认为的熟悉了的,刚刚在回想起前面学的好像又不是很清晰了,模糊对我现在或许是最好的鼓励 我会更加的去学 加油!:
JAVA的API提供了另外一种数据保存途径,使用字符流来保存的,字符流只能保存字符形式的流
字节流和字符的难点:a,怎么将读到的数据
MO、MT解读
bijian1013
GSM
MO= Mobile originate,上行,即用户上发给SP的信息。MT= Mobile Terminate,下行,即SP端下发给用户的信息;
上行:mo提交短信到短信中心下行:mt短信中心向特定的用户转发短信,你的短信是这样的,你所提交的短信,投递的地址是短信中心。短信中心收到你的短信后,存储转发,转发的时候就会根据你填写的接收方号码寻找路由,下发。在彩信领域是一样的道理。下行业务:由SP
五个JavaScript基础问题
bijian1013
JavaScript call apply this Hoisting
下面是五个关于前端相关的基础问题,但却很能体现JavaScript的基本功底。
问题1:Scope作用范围
考虑下面的代码:
(function() {
var a = b = 5;
})();
console.log(b);
什么会被打印在控制台上?
回答:
上面的代码会打印 5。
&nbs
【Thrift二】Thrift Hello World
bit1129
Hello world
本篇,不考虑细节问题和为什么,先照葫芦画瓢写一个Thrift版本的Hello World,了解Thrift RPC服务开发的基本流程
1. 在Intellij中创建一个Maven模块,加入对Thrift的依赖,同时还要加上slf4j依赖,如果不加slf4j依赖,在后面启动Thrift Server时会报错
<dependency>
【Avro一】Avro入门
bit1129
入门
本文的目的主要是总结下基于Avro Schema代码生成,然后进行序列化和反序列化开发的基本流程。需要指出的是,Avro并不要求一定得根据Schema文件生成代码,这对于动态类型语言很有用。
1. 添加Maven依赖
<?xml version="1.0" encoding="UTF-8"?>
<proj
安装nginx+ngx_lua支持WAF防护功能
ronin47
需要的软件:LuaJIT-2.0.0.tar.gz nginx-1.4.4.tar.gz &nb
java-5.查找最小的K个元素-使用最大堆
bylijinnan
java
import java.util.Arrays;
import java.util.Random;
public class MinKElement {
/**
* 5.最小的K个元素
* I would like to use MaxHeap.
* using QuickSort is also OK
*/
public static void
TCP的TIME-WAIT
bylijinnan
socket
原文连接:
http://vincent.bernat.im/en/blog/2014-tcp-time-wait-state-linux.html
以下为对原文的阅读笔记
说明:
主动关闭的一方称为local end,被动关闭的一方称为remote end
本地IP、本地端口、远端IP、远端端口这一“四元组”称为quadruplet,也称为socket
1、TIME_WA
jquery ajax 序列化表单
coder_xpf
Jquery ajax 序列化
checkbox 如果不设定值,默认选中值为on;设定值之后,选中则为设定的值
<input type="checkbox" name="favor" id="favor" checked="checked"/>
$("#favor&quo
Apache集群乱码和最高并发控制
cuisuqiang
apache tomcat 并发 集群 乱码
都知道如果使用Http访问,那么在Connector中增加URIEncoding即可,其实使用AJP时也一样,增加useBodyEncodingForURI和URIEncoding即可。
最大连接数也是一样的,增加maxThreads属性即可,如下,配置如下:
<Connector maxThreads="300" port="8019" prot
websocket
dalan_123
websocket
一、低延迟的客户端-服务器 和 服务器-客户端的连接
很多时候所谓的http的请求、响应的模式,都是客户端加载一个网页,直到用户在进行下一次点击的时候,什么都不会发生。并且所有的http的通信都是客户端控制的,这时候就需要用户的互动或定期轮训的,以便从服务器端加载新的数据。
通常采用的技术比如推送和comet(使用http长连接、无需安装浏览器安装插件的两种方式:基于ajax的长
菜鸟分析网络执法官
dcj3sjt126com
网络
最近在论坛上看到很多贴子在讨论网络执法官的问题。菜鸟我正好知道这回事情.人道"人之患好为人师" 手里忍不住,就写点东西吧. 我也很忙.又没有MM,又没有MONEY....晕倒有点跑题.
OK,闲话少说,切如正题. 要了解网络执法官的原理. 就要先了解局域网的通信的原理.
前面我们看到了.在以太网上传输的都是具有以太网头的数据包. 
Android相对布局属性全集
dcj3sjt126com
android
RelativeLayout布局android:layout_marginTop="25dip" //顶部距离android:gravity="left" //空间布局位置android:layout_marginLeft="15dip //距离左边距
// 相对于给定ID控件android:layout_above 将该控件的底部置于给定ID的
Tomcat内存设置详解
eksliang
jvm tomcat tomcat内存设置
Java内存溢出详解
一、常见的Java内存溢出有以下三种:
1. java.lang.OutOfMemoryError: Java heap space ----JVM Heap(堆)溢出JVM在启动的时候会自动设置JVM Heap的值,其初始空间(即-Xms)是物理内存的1/64,最大空间(-Xmx)不可超过物理内存。
可以利用JVM提
Java6 JVM参数选项
greatwqs
java HotSpot jvm jvm参数 JVM Options
Java 6 JVM参数选项大全(中文版)
作者:Ken Wu
Email:
[email protected]
转载本文档请注明原文链接 http://kenwublog.com/docs/java6-jvm-options-chinese-edition.htm!
本文是基于最新的SUN官方文档Java SE 6 Hotspot VM Opt
weblogic创建JMC
i5land
weblogic jms
进入 weblogic控制太
1.创建持久化存储
--Services--Persistant Stores--new--Create FileStores--name随便起--target默认--Directory写入在本机建立的文件夹的路径--ok
2.创建JMS服务器
--Services--Messaging--JMS Servers--new--name随便起--Pers
基于 DHT 网络的磁力链接和BT种子的搜索引擎架构
justjavac
DHT
上周开发了一个磁力链接和 BT 种子的搜索引擎 {Magnet & Torrent},本文简单介绍一下主要的系统功能和用到的技术。
系统包括几个独立的部分:
使用 Python 的 Scrapy 框架开发的网络爬虫,用来爬取磁力链接和种子;
使用 PHP CI 框架开发的简易网站;
搜索引擎目前直接使用的 MySQL,将来可以考虑使
sql添加、删除表中的列
macroli
sql
添加没有默认值:alter table Test add BazaarType char(1)
有默认值的添加列:alter table Test add BazaarType char(1) default(0)
删除没有默认值的列:alter table Test drop COLUMN BazaarType
删除有默认值的列:先删除约束(默认值)alter table Test DRO
PHP中二维数组的排序方法
abc123456789cba
排序 二维数组 PHP
<?php/*** @package BugFree* @version $Id: FunctionsMain.inc.php,v 1.32 2005/09/24 11:38:37 wwccss Exp $*** Sort an two-dimension array by some level
hive优化之------控制hive任务中的map数和reduce数
superlxw1234
hive hive优化
一、 控制hive任务中的map数: 1. 通常情况下,作业会通过input的目录产生一个或者多个map任务。 主要的决定因素有: input的文件总个数,input的文件大小,集群设置的文件块大小(目前为128M, 可在hive中通过set dfs.block.size;命令查看到,该参数不能自定义修改);2. 
Spring Boot 1.2.4 发布
wiselyman
spring boot
Spring Boot 1.2.4已于6.4日发布,repo.spring.io and Maven Central可以下载(推荐使用maven或者gradle构建下载)。
这是一个维护版本,包含了一些修复small number of fixes,建议所有的用户升级。
Spring Boot 1.3的第一个里程碑版本将在几天后发布,包含许多