- Leetcode 1035. Uncrossed Lines
小白菜又菜
Leetcode解题报告动态规划(DP)leetcode算法
ProblemYouaregiventwointegerarraysnums1andnums2.Wewritetheintegersofnums1andnums2(intheordertheyaregiven)ontwoseparatehorizontallines.Wemaydrawconnectinglines:astraightlineconnectingtwonumbersnums1[i]
- interface 和 type 的使用场景有什么区别?
Ashy-
前端面试题前端笔记typescript前端
Typescript提供的核心特性之一,旨在编译时期补货并防止类型相关的错误,从而提高代码质量,使其更可靠更易维护。变量类型的注解//指定变量的类型,变量只能存储特定类型的值lets:string='abc';letn:number=123;leti:boolean=false;函数参数和返回值的类型注解//在函数中指定参数和返回值的类型functionadd(n1:number,n2:numbe
- darts框架使用
ME_Seraph
机器学习darts
文|Seraph高版本Pytorch问题运行test.py报错IndexError:invalidindexofa0-dimtensor.Usetensor.item()toconverta0-dimtensortoaPythonnumber解决:update函数的参数loss.data[0],prec1.data[0],prec5.data[0]等修改为loss.item(),prec1.ite
- Leetcode 518. Coin Change II
小白菜又菜
Leetcode动态规划(DP)解题报告leetcode算法
ProblemYouaregivenanintegerarraycoinsrepresentingcoinsofdifferentdenominationsandanintegeramountrepresentingatotalamountofmoney.Returnthenumberofcombinationsthatmakeupthatamount.Ifthatamountofmoneycan
- git之reset命令
crayon-shin-chan
surprise#git版本控制git
1.简介git-reset:将当前的HEAD重置为指定状态,也就是重置顶部commit的引用2.概要gitreset[-q][][--]…gitreset[-q][--pathspec-from-file=[--pathspec-file-nul]][]gitreset(--patch|-p)[][--][…]gitreset[--soft|--mixed[-N]|--hard|--merge
- 在nodejs中使用RabbitMQ(六)sharding消息分片
konglong127
nodejsrabbitmq分布式
RabbitMQ的分片插件(rabbitmq_sharding)允许将消息分布到多个队列中,这在消息量很大或处理速度要求高的情况下非常有用。分片功能通过将消息拆分到多个队列中来平衡负载,从而提升消息处理的吞吐量和可靠性。它能够在多个队列之间分配负载,避免单个队列过载。(注:不能单独消费分片消息。消息分片不利于消息顺序区分)启用消息分片插件。rabbitmq-pluginsenablerabbitm
- 《Operating System Concepts》阅读笔记:p17-p25
操作系统
《OperatingSystemConcepts》学习第5天,p17-p25总结,总计9页。一、技术总结1.计算机系统的组成结构(1)CPU—Thehardwarethatexecutesinstructions.(2)Processor—AphysicalchipthatcontainsoneormoreCPUs.(3)Core—ThebasiccomputationunitoftheCPU.(
- 微信支付API代码详解
枫叶落雨222
程序员随笔微信
//使用定时更新的签名验证器,不需要传入证书verifier=newScheduledUpdateCertificatesVerifier(newWechatPay2Credentials(merchanId,newPrivateKeySigner(merchantSerialNumber,merchantPrivateKey)),apiV3Key.getBytes(StandardCharset
- 【SpringBoot3】面向切面 AspectJ AOP 使用详解
m0_74825152
面试学习路线阿里巴巴python前端开发语言
文章目录一、AspectJ介绍二、简单使用步骤1、引入依赖2、定义一个Aspect3、开启AOP支持三、AOP核心概念四、切点(Pointcut)1.execution2.within3.this&target4.args&@args5.@within&@target&@annotation五、通知(Advice)1.@Before示例:日志记录2.@AfterReturning示例:处理返回值3
- Lua 从基础入门到精通(非常详细)
gorgor在码农
Redislua开发语言
目录什么是Lua?Lua环境安装Lua基本语法注释数据类型nil(空)Booleannumber(数字)string(字符串)function(函数)userdatathreadtable(表)流程控制运算符循环详解string库Lua模块与包案例实战什么是Lua?Lua是一种轻量小巧的脚本语言,它用标准C语言编写并以源代码形式开放。这意味着什么呢?这意味着Lua虚拟机可以很方便的嵌入别的程序里,
- 开始使用 adb WiFi 调试模式
每天干八碗饭的东东
android
使用adbWiFi调试模式,通过以下几个步骤即可完成(开始这些配置之前先确保你的adb环境是配置好的):确保Android手机和电脑连接的是同一局域网的WiFi;通过USB线连接Android手机;设置手机侦听端口5555上的TCP/IP连接: $adbtcpip5555※注意:如果有多个手机连接在电脑上,需要用-s‘serial_number’参数指定目标手机,比如: $adb-s'04157d
- 【PyQt】工具栏(QToolBar)与动作按钮(QAction)使用指南
shanks66
pyqtpython开发语言
PyQt工具栏(QToolBar)与动作按钮(QAction)使用指南️一、基础用法示例classMainWindow(QMainWindow):def__init__(self):super().__init__()#创建工具栏self.toolbar=self.addToolBar("主工具栏")#创建动作集合self._create_actions()#设置工具栏图标尺寸self.toolb
- python创建sqlite3数据库_SQLite – Python | 菜鸟教程
weixin_39683144
SQLite-Python安装SQLite3可使用sqlite3模块与Python进行集成。sqlite3模块是由GerhardHaring编写的。它提供了一个与PEP249描述的DB-API2.0规范兼容的SQL接口。您不需要单独安装该模块,因为Python2.5.x以上版本默认自带了该模块。为了使用sqlite3模块,您首先必须创建一个表示数据库的连接对象,然后您可以有选择地创建光标对象,这将
- go语言:实现hexagonal numbers六边形数算法(附完整源码)
源代码大师
go算法实战教程golang算法开发语言
go语言:实现hexagonalnumbers六边形数算法代码说明:如何运行代码:六边形数是指可以用六边形排列的点数,公式为H=n(2n−1),其中n是正整数。下面是用Go语言实现六边形数算法的完整源码:packagemainimport("fmt")//HexagonalNumber计算第n个六边形数funcHexagonalNumber(nint)int{
- flask实现mysql连接池_如何在python flask中使用mysql.connection数据库池
weixin_39710396
flask实现mysql连接池
Traceback(mostrecentcalllast):File"/home/myuser/virtualenv/py2.7-myapp-server-logger/lib/python2.7/site-packages/flask/app.py",line1836,in__call__returnself.wsgi_app(environ,start_response)File"/home/
- C#如何将目标格式转换为字符串
Luxhalo
c#开发语言
在C#中,将目标格式转换为字符串通常意味着将某个对象或值转换成它的字符串表示形式。这里有几种常见的方法来实现这一目标:使用ToString()方法:所有C#中的类型都继承自System.Object类,该类提供了一个ToString()方法,用于返回对象的字符串表示。示例:intnumber=123;stringnumberAsString=number.ToString();使用字符串插值:字符
- ios闹钟铃声实现代码
blogcs
ioswebviewflutter
////TBAudioPlayer.h//PlayAudio////Createdby杨飞on10/25/12.//Copyright(c)2012self.Allrightsreserved.//#import#import"AudioToolBox/AudioToolBox.h"#import"PlayAudio.h"@classPlayLocal;@classAudioStreamer;@i
- CP AUTOSAR标准之IOHardwareAbstraction(AUTOSAR_SWS_IOHardwareAbstraction)(更新中……)
瑟寒凌风
经典autosar(CP)平台嵌入式硬件linux汽车车载系统单片机
1简介和功能概述 AUTOSAR基础软件I/O硬件抽象的功能和配置。I/O硬件抽象是ECU抽象层的一部分。 I/O硬件抽象不应被视为单个模块,因为它可以作为多个模块实现。本I/O硬件抽象规范并非旨在标准化此模块或模块组。相反,它旨在作为其与其他模块功能接口实现的指南。 通过将I/O硬件抽象端口映射到ECU信号来提供对MCAL驱动程序的访问。提供给软件组件的数据完全从物理层值中抽象出来。因此,
- Python浮点数类型解析
前端设计家
pythonjava前端Python
Python浮点数类型解析浮点数(floating-pointnumbers)是Python中用于表示实数的数据类型之一。它们具有小数点和小数部分,可以用于处理需要更高精度的计算和数值操作。本文将详细介绍Python中的浮点数类型,并提供相应的源代码示例。Python中的浮点数类型使用双精度浮点数格式(64位),遵循IEEE754标准。这种格式可以表示非常大或非常小的数字,并提供高精度的计算。在P
- Android Studio:EditText常见4种监听方式
剑客狼心
androidstudioEditText监听EditorAction
1.文本变化监听(TextWatcher)TextWatcher主要用于监听EditText里的文本变化,它有三个方法:beforeTextChanged(文本变化前)onTextChanged(文本正在变化时)afterTextChanged(文本变化后)我们分别看看它们的触发时机和适用场景。(1)beforeTextChanged(文本变化前触发)触发时机:当EditText里的内容即将改变,
- Spring Boot集成ShardingSphere实现读写分离 | Spring Cloud 43
gmHappy
springbootspringcloud数据库
一、读写分离1.1背景面对日益增加的系统访问量,数据库的吞吐量面临着巨大瓶颈。对于同一时刻有大量并发读操作和较少写操作类型的应用系统来说,将数据库拆分为主库和从库,主库负责处理事务性的增删改操作,从库负责处理查询操作,能够有效的避免由数据更新导致的行锁,使得整个系统的查询性能得到极大的改善。通过一主多从的配置方式,可以将查询请求均匀的分散到多个数据副本,能够进一步的提升系统的处理能力。使用多主多从
- PL/SQL 变量以及数据类型(上篇)
偏右右
PL/SQLsql数据库oracle
目录一、变量命名规则命名习惯二、数据类型1.标量类型NUMBER舍入规则字符类型CHAR(n)VARCHAR2(n)日期类型DATETIMESTAMPINTERVAL布尔类型2.复合类型记录类型表类型3.引用类型4.LOB(longobject)类型5.属性类型一、变量命名规则长度最大为30,以字母开头,可以包含字母,数字,#,$,_,但不包括空格以及其他特殊字符。命名习惯普通变量名v_name游
- linux命令 查看文件行号的几种方式
乐观主义现代人
Linux基础#命令行linuxbash运维
1.vimfileName这是一种最基本的方法,打开文件看行号一次跳到最后,同样的gg是跳到开始**注意:**如果没有设置显示行号需要打开文件以后输入:setnumber;或者通过设置.vimrc,这种方式需要退出窗口重新登录生效。2.cat-nfileName[xiaodong@localhost~]$cat-ncat-demo1dsklnnsdklgh2dfbmnsldkgnd3fdsg3.w
- 代码随想录day3
mvufi
python开发语言
203.移除链表元素虚拟头结点:增加删除都很容易python不用new,直接=ListNode(...)#Definitionforsingly-linkedlist.#classListNode:#def__init__(self,val=0,next=None):#self.val=val#self.next=nextclassSolution:defremoveElements(self,h
- 【练习】数学
arin876
算法数据结构
G.GoodNumber这题剩余区间处理#includeusingnamespacestd;intn,k;intksm(inta,intb){intres=1;while(b){if(b&1)res=res*a;a=a*a;b>>=1;}returnres;}intsolve(intp){return1+(ksm(p+1,k)-ksm(p,k))/p;}intmain(){intT;cin>>T;
- 数据库扩展之道:分区、分片与大表优化实战
title:数据库扩展之道:分区、分片与大表优化实战date:2025/2/15updated:2025/2/15author:cmdragonexcerpt:随着数据量的爆炸式增长,传统单机数据库的性能和存储能力逐渐成为瓶颈。数据库扩展的核心技术——分区(Partitioning)与分片(Sharding),并结合大表管理优化策略,提供从理论到实践的完整解决方案。通过实际案例(如MySQL分区实
- 【20天快速掌握Python】day20-手动搭建HTTP服务器
菜鸟进阶站
Python后端开发编程pythonhttp服务器
演示代码: importre importsocket frommultiprocessingimportProcess classWSGIServer(): def__init__(self,server,port,root): self.server=server self.port=port self.root=root self.server_s
- 学生福利:畅享 Adobe 全系列软件的小技巧
reddingtons
adobe
作为一名学生,我有幸通过学生邮箱免费使用Adobe的全系列软件。这意味着我可以使用包括Photoshop、Illustrator、PremierePro和AfterEffects在内的所有收费软件。这些工具为我的学习和创作提供了巨大的便利。接下来,我将分享五个冷门的Adobe软件小技巧,帮助大家更高效地使用这些强大的工具。(以下有可能包含收费软件的内容,不适用于免费用户,请谅解)1.Photosh
- Long类型数据传到前端精度丢失问题
山风岚岚丶
debug
Long类型数据传到前端精度丢失问题原因JS内置有32位整数,而number类型的安全整数是53位。如果超过53位,则精度会丢失。正如现在后台传来一个64位的Long型整数,因为超过了53位,所以后端返回的值和前端获取的值会不一样。出现场景网上有很多改序列化方式让Long类型数据变成String类型的方法,试了都没什么用,后来仔细看了下发现,即视不加这些序列化方法,常规的后端Long类型数据传到前
- python异步tcp代理服务器
在学02
pythontcp/ip网络
importasyncioclassTcpServer:def__init__(self,addr,proxy_addr):self.addr=addrself.proxy_addr=proxy_addrself.server=Noneasyncdefget_connect(self):reader,writer=awaitasyncio.open_connection(*self.proxy_a
- 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 速度很慢而且效率也不