- 【自动化运维神器Ansible】Ansible常用模块之unarchive模块详解
目录1unarchive模块概述1.1unarchive模块的核心价值2unarchive模块工作原理3unarchive模块参数详解3.1源文件相关参数3.1.1src3.1.2remote_src3.2目标路径参数3.2.1dest3.2.2extra_opts3.3高级控制参数3.3.1keep_newer3.3.2validate_certs4unarchive模块使用场景与示例4.1基础
- JAVA知识点(四):SpringBoot与分布式、微服务架构
程序员码龙
Java面试java架构springboot
文章目录SpringBoot使用Validation进行参数校验并统一返回校验异常引入相应的依赖Validation的基本校验注解添加参数校验在DTO的属性上添加校验在controller对应的DTO添加@Valid或者@Validated对于复杂String校验我们可以使用正则来校验,如下所示:自定义校验注解新建自定义注解实现相应的校验自定义注解的使用校验失败统一异常处理如何理解SpringBo
- java实体类常规校验(字符串不包含空格)
边走、边悟迟早会好1、自定义注解字段内容不能包含空格packagecom.gkfx.farm.space;importjakarta.validation.Constraint;importjakarta.validation.Payload;importjava.lang.annotation.*;//实体类新增修改时不能包含空格@Documented@Constraint(validatedB
- element-ui表单验证信息如何以弹窗的形式出现
汪叽家的兔子羡
uijavascript开发语言
一、需求在进行表单验证的时候,表单提示部分业务需要弹出窗口提示二、实现1.主要代码:主要在else部分submitForm(formName){this.$refs[formName].validate((valid,obj)=>{if(valid){console.log('submit');}else{varfail=[];for(letkeyinobj){fail.push(obj[key]
- YFCMF-TP6 改后台模块路径方法
huluang
php
1、创建表单,表民phpthinkcrud-tbeian_dignji-u12、app路径controllerlang/zh-cnmodelvalidateview以及public/assets/js/backend/找到beian_dignji每个路径下创建需要增加的文件夹名称,如beian,并将以上目录的文件或文件夹剪切到当前文件及下3、编辑表fa_auth_rule规则名称主要为105,上级
- 记录一个Android Studio v7包爆红的问题
Kyle_Xiong
在开发过程中,突然v7包的class全部爆红,但是可以运行,Clean、Rebuild、重启AndroidStudio及电脑、InvalidateCaches/Restart均不能够解决问题,特此在此处记录问题解决办法解决办法:File->CloseProject->重新打开项目->SycnProject这样红色的报错就没有了产生这个错误是因为androidstudio的一个bug产生的,在此记录
- Python中什么时候需要返回值,什么时候不需要返回值???
似乎很简单
Python学习日记python开发语言
在Python中,函数是否需要返回值取决于它的设计目的和功能需求。需要返回值的情况计算结果需要被后续代码使用当函数的主要目的是计算或生成数据,且调用方需要这些结果时:defadd(a,b):returna+b#结果需要被其他代码使用total=add(3,5)#需要返回值需要传递状态或信息如果函数执行后需要告诉调用方是否成功、返回状态码或错误信息:defvalidate_input(input):
- Mysql 8.0问题汇总
Greenland_12
mysql数据库
1概述8.0对安全性做了大量默认限制(认证方式、远程访问、密码复杂度等)1认证插件改变8.0使用caching_sha2_password,之前是mysql_native_password见问题328.0默认auth_socket登录8.0默认需要使用sudomysql登录见问题3同一修改38.0密码策略严格8.0validate_password.policy默认是MEDIUM见问题148.0默
- javascript基础从小白到高手系列四千八百七十三:禁用验证
完美句号
javascript开发语言ecmascript
通过指定novalidate属性可以禁止对表单进行任何验证:这个值也可以通过JavaScript属性noValidate检索或设置,设置为true表示属性存在,设置为false表示属性不存在:document.forms[0].noValidate=true;//关闭验证如果一个表单中有多个提交按钮,那么可以给特定的提交按钮添加formnovalidate属性,指定通过该按钮无须验证即可提交表单:
- 面向对象与面向过程编程:核心区别解析
三笠o.0
Pythonpython开发语言
1.面向过程和面向对象面向对象编程(OOP)与结构化编程是两种不同的编程范式,它们解决问题的思路有着本质区别:结构化编程(面向过程)的特点:分析阶段:通过自顶向下的方式将问题分解为若干步骤实现阶段:将每个步骤转化为独立的方法/函数执行方式:程序通过依次调用这些方法来完成功能示例:银行转账程序可能包含:validateInput()验证输入checkBalance()检查余额updateAccoun
- jenkins maven项目构建 踩坑
奇缘志骄✘
jenkinsmaven
jenkinsmaven项目构建踩坑Nogoalshavebeenspecifiedforthisbuild.Youmustspecifyavalidlifecyclephaseoragoalintheformat:or:[:]:.Availablelifecyclephasesare:pre-clean,clean,post-clean,validate,initialize,generate-
- Kotlin面向对象编程实战
Devil枫
安卓kotlin开发语言android
一、类与对象:从蓝图到实例Kotlin的类定义简洁高效,支持属性自动生成getter/setter。以下是一个完整的Person类示例://定义Person类classPerson(valname:String,varage:Int){//成员方法funintroduce(){println("姓名:$name,年龄:$age")}//私有方法示例privatefunvalidateAge(){r
- 外观模式 - Flutter中的一键操作大师,复杂功能的极简入口!
明似水
flutter外观模式flutterjavascript
痛点场景:多步骤的用户注册流程假设你的应用需要处理以下注册步骤:验证邮箱格式检查密码强度调用注册API保存用户Token初始化用户配置同步基础数据发送欢迎邮件传统实现方式:FutureregisterUser(Stringemail,Stringpassword)async{//1.验证邮箱if(!EmailValidator.validate(email)){throwInvalidEmailE
- 使用POI导入解析excel文件
码上心间
excel
首先校验/***校验导入文件*@paramfile上传的文件*@return校验结果,成功返回包含成功状态的AjaxResult,失败返回包含错误信息的AjaxResult*/privateAjaxResultvalidateImportFile(MultipartFilefile){if(file.isEmpty()){returnAjaxResult.error("文件不能为空");}Stri
- 游戏研发高效利器:SVN资源动态项目管理解决方案
还债大湿兄
游戏项目管理
一、问题背景与解决方案传统资源分发痛点:人工打包耗时:平均每次版本发布需2小时版本隔离:不同团队无法同时使用多个版本资源冲突:美术/QA/策划资源版本不一致动态管理方案优势:二、系统核心流程//完整工作流控制器voidGameResourceManager::executeFullWorkflow(){//1.凭证验证if(!validateCredentials()){showError("认证
- el-form 中的rules规则校验validate不起作用的可能原因
不想上班只想要钱
vue前端vue.jsjavascript前端
el-form中的rules规则校验validate不起作用的可能原因错误代码:repeatPassword:{required:true,trigger:'blur',validator:(rule,value,callback)=>{if(value){if(value
- 什么是OV通配符证书
OV通配符证书是一种SSL/TLS证书,属于组织验证(OV)级别的通配符证书,用于保护一个主域名及其所有同级子域名的安全加密,同时验证申请企业的真实身份。OV通配符证书中的“OV”代表OrganizationValidated(组织验证),与仅验证域名所有权的DV(域名验证)证书不同,OV证书在颁发前需要CA(证书颁发机构)对申请企业进行更严格的身份验证。申请者通常需要提供公司营业执照、组织机构代
- Spring Boot 参数验证
阿乾之铭
SpringBootSpringMVCmysqljava数据库
一、依赖配置首先确保在pom.xml中添加了以下依赖:org.springframework.bootspring-boot-starter-validation这个依赖包含了HibernateValidator(JSR-380规范的实现)和必要的Spring验证支持。验证执行流程:当请求到达Controller方法时,Spring会检查方法参数上的@Valid或@Validated注解触发Met
- C语言位段
C语言位段(BitFields)详解位段是C语言中一种特殊的数据结构,它允许程序员将一个整型变量划分为多个不同长度的位段,从而更高效地利用存储空间。1.位段的基本概念位段是结构体中的一种特殊成员,它指定了该成员占用的位数:struct{unsignedintwidthValidated:1;unsignedintheightValidated:1;}status;在这个例子中,widthValid
- MySQL(83)如何设置密码复杂度策略?
辞暮尔尔-烟火年年
MySQLmysqlandroid数据库
在MySQL中,可以通过配置密码策略来设置密码的复杂度要求。MySQL提供了一些参数和插件来帮助管理员强制实施密码复杂度策略,确保数据库用户使用强密码。下面将详细介绍如何设置密码复杂度策略,并结合代码示例进行说明。1.使用validate_password插件validate_password插件是MySQL提供的一个插件,用于验证密码的复杂度。通过启用和配置该插件,可以控制密码的长度、字符种类和
- PHP 导入xlsx文件,附带图片,并将图片上传到OSS
爱吃西红柿!
phpandroid开发语言
/***商品导入*@returnvoid*/publicfunctionimport(){$file=$this->request->file('file');if(!$file)returnapp('json')->fail('请上传EXCEL文件');$file=is_array($file)?$file[0]:$file;validate(["file|文件"=>['fileExt'=>'x
- javaScript实现E-mail 验证
麦田上的字节
JavaScript系列E-mail表单验证javascript
下面的函数检查输入的数据是否符合电子邮件地址的基本语法。意思就是说,输入的数据必须包含@符号和点号(.)。同时,@不可以是邮件地址的首字符,并且@之后需有至少一个点号:functionvalidateForm(){varx=document.forms["myForm"]["email"].value;varatpos=x.indexOf("@");vardotpos=x.lastIndexOf(
- Vue-admin-element,路由权限和按钮权限理解及全部流程
Vue安夏
vue.js前端javascript
前言个人理解的路由权限,按钮权限无非就是,根据登录用户的角色来向后台请求这个角色拥有的权限;换种说法就是,登录的账号它能查看的路由有哪些,对应的页面按钮操作又有哪些,知道了这些信息后就是交给前端去通过返回的数据操作替换路由表,展示返回数据里的路由。一、登录login.vuehandleLogin(){this.$refs.loginForm.validate(valid=>{if(valid){/
- go中validate包使用教程
川夜施密特
gogolang开发语言
文章目录前言安装简单使用错误处理翻译器Validator库介绍校验语法常用标记自定义校验需求【校验车身颜色】前言在go项目中,经常有校验数据合法性的需求,比如邮箱、年龄、车牌号、网址、字符串长度、金额、枚举范围等。一个好的校验包能帮我们少写很多ifelse,提高系统的可维护性。validate包内置了丰富的校验语法,包括字符串、数字、邮箱等,当然如果我们有定制化的校验提示文案或者校验规则,vali
- k8s排错过程----出现cgroupfs报错;FileContent --proc-sys-net-bridge-bridge-nf-call-iptables报错;
年轻,不是你努力而得来的奖赏
容器dockerk8s
背景:在vm安装k8s过程中,出现cgroupfs报错,一直无法继续下去。排查过程:出现5个报错:1:kubeadmcannotvalidatecomponentconfigs2:systemctlenabledocker.service3:cgroupfs4:swap(runingwithswaponisnotsupported)5:FileContent--proc-sys-net-bridg
- MVC项目验证码的生成
qq_17060989
MVC学习笔记
目录前端调用控制器验证码图片生成类WebHelperMd5加密前端调用html代码换一张js代码$("#switchCode").click(function(){$("#imgcode").attr("src","/Login/GetValidateCode?"+Math.random())})$("#imgcode").click(function(){$("#imgcode").attr("
- 振动分析师(ISO18436-2)四级能力矩阵 - 简介
子正
#技术追踪#测量BeyondProgram预防性维护振动分析PHM笔记
本文的内容绝大多数来自:VCAT-IIVibrationAnalyst-MobiusInstitute相关振动分析员培训招生彩页,特此致谢!内容整理参见:振动分析师四级能力矩阵-知乎。CATI振动分析技术员1.1角色画像CollectvibrationdataValidatethatthedataisgoodBegintoperformbasicanalysisUsethetrainingandc
- 前端表单验证进阶:如何使用 jQuery.validator.addMethod() 编写自定义验证器(全是干货,建议收藏)
叫我黎大侠
前端jqueryjavascriptvue.js前端框架htmlbootstrap
背景介绍在使用jQueryValidation插件时,我们通常会写这样一段代码:然后通过规则设定完成验证:$('#form').validate({rules:{startTime:{required:true}}});然而,有时候我们需要“业务自定义规则”,比如:❗用户不能选择00:00作为时间。这时内建的required,min,max等规则就不够用了。我们该怎么办?别慌!这就是jQuery.
- 缓存控制HTTP标头设置为“无缓存、无存储、必须重新验证”
Never_Satisfied
网络安全漏洞手札缓存http网络协议
文章目录说明示例核心响应头设置实现原理代码实现1.原生Node.js(使用`http`模块)2.Express框架3.针对特定路由设置(Express)验证方法(使用cURL)关键注意事项说明日期:2025年6月4日。对于安全内容,请确保缓存控制HTTP标头设置为“no-cache,no-store,must-revalidate”(无缓存、无存储、必须重新验证)。如果应该缓存资产,请考虑将指令设
- docker安装minio:Access key length should be at least 3, and secret key length at least 8 characters
渔陵
docker
docker安装完minio之后启动镜像发现未果查看日志:dockerlogs{你的minio的CONTAINERID}发现:ERRORUnabletovalidatecredentialsinheritedfromtheshellenvironment:Invalidcredentials>PleaseprovidecorrectcredentialsHINT:Accesskeylengthsh
- LeetCode[Math] - #66 Plus One
Cwind
javaLeetCode题解AlgorithmMath
原题链接:#66 Plus One
要求:
给定一个用数字数组表示的非负整数,如num1 = {1, 2, 3, 9}, num2 = {9, 9}等,给这个数加上1。
注意:
1. 数字的较高位存在数组的头上,即num1表示数字1239
2. 每一位(数组中的每个元素)的取值范围为0~9
难度:简单
分析:
题目比较简单,只须从数组
- JQuery中$.ajax()方法参数详解
AILIKES
JavaScriptjsonpjqueryAjaxjson
url: 要求为String类型的参数,(默认为当前页地址)发送请求的地址。
type: 要求为String类型的参数,请求方式(post或get)默认为get。注意其他http请求方法,例如put和 delete也可以使用,但仅部分浏览器支持。
timeout: 要求为Number类型的参数,设置请求超时时间(毫秒)。此设置将覆盖$.ajaxSetup()方法的全局
- JConsole & JVisualVM远程监视Webphere服务器JVM
Kai_Ge
JVisualVMJConsoleWebphere
JConsole是JDK里自带的一个工具,可以监测Java程序运行时所有对象的申请、释放等动作,将内存管理的所有信息进行统计、分析、可视化。我们可以根据这些信息判断程序是否有内存泄漏问题。
使用JConsole工具来分析WAS的JVM问题,需要进行相关的配置。
首先我们看WAS服务器端的配置.
1、登录was控制台https://10.4.119.18
- 自定义annotation
120153216
annotation
Java annotation 自定义注释@interface的用法 一、什么是注释
说起注释,得先提一提什么是元数据(metadata)。所谓元数据就是数据的数据。也就是说,元数据是描述数据的。就象数据表中的字段一样,每个字段描述了这个字段下的数据的含义。而J2SE5.0中提供的注释就是java源代码的元数据,也就是说注释是描述java源
- CentOS 5/6.X 使用 EPEL YUM源
2002wmj
centos
CentOS 6.X 安装使用EPEL YUM源1. 查看操作系统版本[root@node1 ~]# uname -a Linux node1.test.com 2.6.32-358.el6.x86_64 #1 SMP Fri Feb 22 00:31:26 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux [root@node1 ~]#
- 在SQLSERVER中查找缺失和无用的索引SQL
357029540
SQL Server
--缺失的索引
SELECT avg_total_user_cost * avg_user_impact * ( user_scans + user_seeks ) AS PossibleImprovement ,
last_user_seek ,
 
- Spring3 MVC 笔记(二) —json+rest优化
7454103
Spring3 MVC
接上次的 spring mvc 注解的一些详细信息!
其实也是一些个人的学习笔记 呵呵!
- 替换“\”的时候报错Unexpected internal error near index 1 \ ^
adminjun
java“\替换”
发现还是有些东西没有刻子脑子里,,过段时间就没什么概念了,所以贴出来...以免再忘...
在拆分字符串时遇到通过 \ 来拆分,可是用所以想通过转义 \\ 来拆分的时候会报异常
public class Main {
/*
- POJ 1035 Spell checker(哈希表)
aijuans
暴力求解--哈希表
/*
题意:输入字典,然后输入单词,判断字典中是否出现过该单词,或者是否进行删除、添加、替换操作,如果是,则输出对应的字典中的单词
要求按照输入时候的排名输出
题解:建立两个哈希表。一个存储字典和输入字典中单词的排名,一个进行最后输出的判重
*/
#include <iostream>
//#define
using namespace std;
const int HASH =
- 通过原型实现javascript Array的去重、最大值和最小值
ayaoxinchao
JavaScriptarrayprototype
用原型函数(prototype)可以定义一些很方便的自定义函数,实现各种自定义功能。本次主要是实现了Array的去重、获取最大值和最小值。
实现代码如下:
<script type="text/javascript">
Array.prototype.unique = function() {
var a = {};
var le
- UIWebView实现https双向认证请求
bewithme
UIWebViewhttpsObjective-C
什么是HTTPS双向认证我已在先前的博文 ASIHTTPRequest实现https双向认证请求
中有讲述,不理解的读者可以先复习一下。本文是用UIWebView来实现对需要客户端证书验证的服务请求,网上有些文章中有涉及到此内容,但都只言片语,没有讲完全,更没有完整的代码,让人困扰不已。但是此知
- NoSQL数据库之Redis数据库管理(Redis高级应用之事务处理、持久化操作、pub_sub、虚拟内存)
bijian1013
redis数据库NoSQL
3.事务处理
Redis对事务的支持目前不比较简单。Redis只能保证一个client发起的事务中的命令可以连续的执行,而中间不会插入其他client的命令。当一个client在一个连接中发出multi命令时,这个连接会进入一个事务上下文,该连接后续的命令不会立即执行,而是先放到一个队列中,当执行exec命令时,redis会顺序的执行队列中
- 各数据库分页sql备忘
bingyingao
oraclesql分页
ORACLE
下面这个效率很低
SELECT * FROM ( SELECT A.*, ROWNUM RN FROM (SELECT * FROM IPAY_RCD_FS_RETURN order by id desc) A ) WHERE RN <20;
下面这个效率很高
SELECT A.*, ROWNUM RN FROM (SELECT * FROM IPAY_RCD_
- 【Scala七】Scala核心一:函数
bit1129
scala
1. 如果函数体只有一行代码,则可以不用写{},比如
def print(x: Int) = println(x)
一行上的多条语句用分号隔开,则只有第一句属于方法体,例如
def printWithValue(x: Int) : String= println(x); "ABC"
上面的代码报错,因为,printWithValue的方法
- 了解GHC的factorial编译过程
bookjovi
haskell
GHC相对其他主流语言的编译器或解释器还是比较复杂的,一部分原因是haskell本身的设计就不易于实现compiler,如lazy特性,static typed,类型推导等。
关于GHC的内部实现有篇文章说的挺好,这里,文中在RTS一节中详细说了haskell的concurrent实现,里面提到了green thread,如果熟悉Go语言的话就会发现,ghc的concurrent实现和Go有点类
- Java-Collections Framework学习与总结-LinkedHashMap
BrokenDreams
LinkedHashMap
前面总结了java.util.HashMap,了解了其内部由散列表实现,每个桶内是一个单向链表。那有没有双向链表的实现呢?双向链表的实现会具备什么特性呢?来看一下HashMap的一个子类——java.util.LinkedHashMap。
- 读《研磨设计模式》-代码笔记-抽象工厂模式-Abstract Factory
bylijinnan
abstract
声明: 本文只为方便我个人查阅和理解,详细的分析以及源代码请移步 原作者的博客http://chjavach.iteye.com/
package design.pattern;
/*
* Abstract Factory Pattern
* 抽象工厂模式的目的是:
* 通过在抽象工厂里面定义一组产品接口,方便地切换“产品簇”
* 这些接口是相关或者相依赖的
- 压暗面部高光
cherishLC
PS
方法一、压暗高光&重新着色
当皮肤很油又使用闪光灯时,很容易在面部形成高光区域。
下面讲一下我今天处理高光区域的心得:
皮肤可以分为纹理和色彩两个属性。其中纹理主要由亮度通道(Lab模式的L通道)决定,色彩则由a、b通道确定。
处理思路为在保持高光区域纹理的情况下,对高光区域着色。具体步骤为:降低高光区域的整体的亮度,再进行着色。
如果想简化步骤,可以只进行着色(参看下面的步骤1
- Java VisualVM监控远程JVM
crabdave
visualvm
Java VisualVM监控远程JVM
JDK1.6开始自带的VisualVM就是不错的监控工具.
这个工具就在JAVA_HOME\bin\目录下的jvisualvm.exe, 双击这个文件就能看到界面
通过JMX连接远程机器, 需要经过下面的配置:
1. 修改远程机器JDK配置文件 (我这里远程机器是linux).
 
- Saiku去掉登录模块
daizj
saiku登录olapBI
1、修改applicationContext-saiku-webapp.xml
<security:intercept-url pattern="/rest/**" access="IS_AUTHENTICATED_ANONYMOUSLY" />
<security:intercept-url pattern=&qu
- 浅析 Flex中的Focus
dsjt
htmlFlexFlash
关键字:focus、 setFocus、 IFocusManager、KeyboardEvent
焦点、设置焦点、获得焦点、键盘事件
一、无焦点的困扰——组件监听不到键盘事件
原因:只有获得焦点的组件(确切说是InteractiveObject)才能监听到键盘事件的目标阶段;键盘事件(flash.events.KeyboardEvent)参与冒泡阶段,所以焦点组件的父项(以及它爸
- Yii全局函数使用
dcj3sjt126com
yii
由于YII致力于完美的整合第三方库,它并没有定义任何全局函数。yii中的每一个应用都需要全类别和对象范围。例如,Yii::app()->user;Yii::app()->params['name'];等等。我们可以自行设定全局函数,使得代码看起来更加简洁易用。(原文地址)
我们可以保存在globals.php在protected目录下。然后,在入口脚本index.php的,我们包括在
- 设计模式之单例模式二(解决无序写入的问题)
come_for_dream
单例模式volatile乱序执行双重检验锁
在上篇文章中我们使用了双重检验锁的方式避免懒汉式单例模式下由于多线程造成的实例被多次创建的问题,但是因为由于JVM为了使得处理器内部的运算单元能充分利用,处理器可能会对输入代码进行乱序执行(Out Of Order Execute)优化,处理器会在计算之后将乱序执行的结果进行重组,保证该
- 程序员从初级到高级的蜕变
gcq511120594
框架工作PHPandroidhtml5
软件开发是一个奇怪的行业,市场远远供不应求。这是一个已经存在多年的问题,而且随着时间的流逝,愈演愈烈。
我们严重缺乏能够满足需求的人才。这个行业相当年轻。大多数软件项目是失败的。几乎所有的项目都会超出预算。我们解决问题的最佳指导方针可以归结为——“用一些通用方法去解决问题,当然这些方法常常不管用,于是,唯一能做的就是不断地尝试,逐个看看是否奏效”。
现在我们把淫浸代码时间超过3年的开发人员称为
- Reverse Linked List
hcx2013
list
Reverse a singly linked list.
/**
* Definition for singly-linked list.
* public class ListNode {
* int val;
* ListNode next;
* ListNode(int x) { val = x; }
* }
*/
p
- Spring4.1新特性——数据库集成测试
jinnianshilongnian
spring 4.1
目录
Spring4.1新特性——综述
Spring4.1新特性——Spring核心部分及其他
Spring4.1新特性——Spring缓存框架增强
Spring4.1新特性——异步调用和事件机制的异常处理
Spring4.1新特性——数据库集成测试脚本初始化
Spring4.1新特性——Spring MVC增强
Spring4.1新特性——页面自动化测试框架Spring MVC T
- C# Ajax上传图片同时生成微缩图(附Demo)
liyonghui160com
1.Ajax无刷新上传图片,详情请阅我的这篇文章。(jquery + c# ashx)
2.C#位图处理 System.Drawing。
3.最新demo支持IE7,IE8,Fir
- Java list三种遍历方法性能比较
pda158
java
从c/c++语言转向java开发,学习java语言list遍历的三种方法,顺便测试各种遍历方法的性能,测试方法为在ArrayList中插入1千万条记录,然后遍历ArrayList,发现了一个奇怪的现象,测试代码例如以下:
package com.hisense.tiger.list;
import java.util.ArrayList;
import java.util.Iterator;
- 300个涵盖IT各方面的免费资源(上)——商业与市场篇
shoothao
seo商业与市场IT资源免费资源
A.网站模板+logo+服务器主机+发票生成
HTML5 UP:响应式的HTML5和CSS3网站模板。
Bootswatch:免费的Bootstrap主题。
Templated:收集了845个免费的CSS和HTML5网站模板。
Wordpress.org|Wordpress.com:可免费创建你的新网站。
Strikingly:关注领域中免费无限的移动优
- localStorage、sessionStorage
uule
localStorage
W3School 例子
HTML5 提供了两种在客户端存储数据的新方法:
localStorage - 没有时间限制的数据存储
sessionStorage - 针对一个 session 的数据存储
之前,这些都是由 cookie 完成的。但是 cookie 不适合大量数据的存储,因为它们由每个对服务器的请求来传递,这使得 cookie 速度很慢而且效率也不