mirror of
https://github.com/zhwei820/learn.lianglianglee.com.git
synced 2025-09-26 05:06:42 +08:00
278 lines
26 KiB
HTML
278 lines
26 KiB
HTML
<!DOCTYPE html>
|
||
<!-- saved from url=(0046)https://kaiiiz.github.io/hexo-theme-book-demo/ -->
|
||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||
<head>
|
||
<head>
|
||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1.0, user-scalable=no">
|
||
<link rel="icon" href="/static/favicon.png">
|
||
<title>note-submit</title>
|
||
<!-- Spectre.css framework -->
|
||
<link rel="stylesheet" href="/static/index.css">
|
||
<!-- theme css & js -->
|
||
<meta name="generator" content="Hexo 4.2.0">
|
||
</head>
|
||
<body>
|
||
<div class="book-container">
|
||
<div class="book-sidebar">
|
||
<div class="book-brand">
|
||
<a href="/">
|
||
<img src="/static/favicon.png">
|
||
<span>技术文章摘抄</span>
|
||
</a>
|
||
</div>
|
||
<div class="book-menu uncollapsible">
|
||
<ul class="uncollapsible">
|
||
<li><a href="/" class="current-tab">首页</a></li>
|
||
</ul>
|
||
<ul class="uncollapsible">
|
||
<li><a href="../">上一级</a></li>
|
||
</ul>
|
||
<ul class="uncollapsible">
|
||
<li>
|
||
<a href="/PDF">PDF</a>
|
||
</li>
|
||
<li>
|
||
<a href="/专栏">专栏</a>
|
||
</li>
|
||
<li>
|
||
<a href="/恋爱必修课">恋爱必修课</a>
|
||
</li>
|
||
<li>
|
||
<a href="/文章">文章</a>
|
||
</li>
|
||
<li>
|
||
<a href="/极客时间">极客时间</a>
|
||
</li>
|
||
</ul>
|
||
</div>
|
||
</div>
|
||
<div class="sidebar-toggle" onclick="sidebar_toggle()" onmouseover="add_inner()" onmouseleave="remove_inner()">
|
||
<div class="sidebar-toggle-inner"></div>
|
||
</div>
|
||
<script>
|
||
function add_inner() {
|
||
let inner = document.querySelector('.sidebar-toggle-inner')
|
||
inner.classList.add('show')
|
||
}
|
||
|
||
function remove_inner() {
|
||
let inner = document.querySelector('.sidebar-toggle-inner')
|
||
inner.classList.remove('show')
|
||
}
|
||
|
||
function sidebar_toggle() {
|
||
let sidebar_toggle = document.querySelector('.sidebar-toggle')
|
||
let sidebar = document.querySelector('.book-sidebar')
|
||
let content = document.querySelector('.off-canvas-content')
|
||
if (sidebar_toggle.classList.contains('extend')) { // show
|
||
sidebar_toggle.classList.remove('extend')
|
||
sidebar.classList.remove('hide')
|
||
content.classList.remove('extend')
|
||
} else { // hide
|
||
sidebar_toggle.classList.add('extend')
|
||
sidebar.classList.add('hide')
|
||
content.classList.add('extend')
|
||
}
|
||
}
|
||
|
||
function open_sidebar() {
|
||
let sidebar = document.querySelector('.book-sidebar')
|
||
let overlay = document.querySelector('.off-canvas-overlay')
|
||
sidebar.classList.add('show')
|
||
overlay.classList.add('show')
|
||
}
|
||
|
||
function hide_canvas() {
|
||
let sidebar = document.querySelector('.book-sidebar')
|
||
let overlay = document.querySelector('.off-canvas-overlay')
|
||
sidebar.classList.remove('show')
|
||
overlay.classList.remove('show')
|
||
}
|
||
</script>
|
||
<div class="off-canvas-content">
|
||
<div class="columns">
|
||
<div class="column col-12 col-lg-12">
|
||
<div class="book-navbar">
|
||
<!-- For Responsive Layout -->
|
||
<header class="navbar">
|
||
<section class="navbar-section">
|
||
<a onclick="open_sidebar()">
|
||
<i class="icon icon-menu"></i>
|
||
</a>
|
||
</section>
|
||
</header>
|
||
</div>
|
||
<div class="book-content"
|
||
style="max-width: 960px; margin: 0 auto; overflow-x: auto; overflow-y: hidden;">
|
||
<div class="book-post">
|
||
<p id="tip" align="center"></p>
|
||
<div><!--add content-->
|
||
<h1>左耳听风</h1>
|
||
<ul>
|
||
<li><a href = '\专栏\左耳听风\000 开篇词 洞悉技术的本质,享受科技的乐趣.md.html'>000 开篇词 洞悉技术的本质,享受科技的乐趣</a></li>
|
||
<li><a href = '\专栏\左耳听风\001 程序员如何用技术变现(上).md.html'>001 程序员如何用技术变现(上)</a></li>
|
||
<li><a href = '\专栏\左耳听风\002 程序员如何用技术变现(下).md.html'>002 程序员如何用技术变现(下)</a></li>
|
||
<li><a href = '\专栏\左耳听风\003 Equifax信息泄露始末.md.html'>003 Equifax信息泄露始末</a></li>
|
||
<li><a href = '\专栏\左耳听风\004 从Equifax信息泄露看数据安全.md.html'>004 从Equifax信息泄露看数据安全</a></li>
|
||
<li><a href = '\专栏\左耳听风\005 何为技术领导力.md.html'>005 何为技术领导力</a></li>
|
||
<li><a href = '\专栏\左耳听风\006 如何拥有技术领导力.md.html'>006 如何拥有技术领导力</a></li>
|
||
<li><a href = '\专栏\左耳听风\007 推荐阅读:每个程序员都该知道的事.md.html'>007 推荐阅读:每个程序员都该知道的事</a></li>
|
||
<li><a href = '\专栏\左耳听风\008 Go语言,Docker和新技术.md.html'>008 Go语言,Docker和新技术</a></li>
|
||
<li><a href = '\专栏\左耳听风\009 答疑解惑:渴望、热情和选择.md.html'>009 答疑解惑:渴望、热情和选择</a></li>
|
||
<li><a href = '\专栏\左耳听风\010 如何成为一个大家愿意追随的Leader?.md.html'>010 如何成为一个大家愿意追随的Leader?</a></li>
|
||
<li><a href = '\专栏\左耳听风\011 程序中的错误处理:错误返回码和异常捕捉.md.html'>011 程序中的错误处理:错误返回码和异常捕捉</a></li>
|
||
<li><a href = '\专栏\左耳听风\012 程序中的错误处理:异步编程和最佳实践.md.html'>012 程序中的错误处理:异步编程和最佳实践</a></li>
|
||
<li><a href = '\专栏\左耳听风\013 魔数 0x5f3759df.md.html'>013 魔数 0x5f3759df</a></li>
|
||
<li><a href = '\专栏\左耳听风\014 推荐阅读:机器学习101.md.html'>014 推荐阅读:机器学习101</a></li>
|
||
<li><a href = '\专栏\左耳听风\015 时间管理:同扭曲时间的事儿抗争.md.html'>015 时间管理:同扭曲时间的事儿抗争</a></li>
|
||
<li><a href = '\专栏\左耳听风\016 时间管理:投资赚取时间.md.html'>016 时间管理:投资赚取时间</a></li>
|
||
<li><a href = '\专栏\左耳听风\017 故障处理最佳实践:应对故障.md.html'>017 故障处理最佳实践:应对故障</a></li>
|
||
<li><a href = '\专栏\左耳听风\018 故障处理最佳实践:故障改进.md.html'>018 故障处理最佳实践:故障改进</a></li>
|
||
<li><a href = '\专栏\左耳听风\019 答疑解惑:我们应该能够识别的表象和本质.md.html'>019 答疑解惑:我们应该能够识别的表象和本质</a></li>
|
||
<li><a href = '\专栏\左耳听风\020 分布式系统架构的冰与火.md.html'>020 分布式系统架构的冰与火</a></li>
|
||
<li><a href = '\专栏\左耳听风\021 从亚马逊的实践,谈分布式系统的难点.md.html'>021 从亚马逊的实践,谈分布式系统的难点</a></li>
|
||
<li><a href = '\专栏\左耳听风\022 分布式系统的技术栈.md.html'>022 分布式系统的技术栈</a></li>
|
||
<li><a href = '\专栏\左耳听风\023 分布式系统关键技术:全栈监控.md.html'>023 分布式系统关键技术:全栈监控</a></li>
|
||
<li><a href = '\专栏\左耳听风\024 分布式系统关键技术:服务调度.md.html'>024 分布式系统关键技术:服务调度</a></li>
|
||
<li><a href = '\专栏\左耳听风\025 分布式系统关键技术:流量与数据调度.md.html'>025 分布式系统关键技术:流量与数据调度</a></li>
|
||
<li><a href = '\专栏\左耳听风\026 洞悉PaaS平台的本质.md.html'>026 洞悉PaaS平台的本质</a></li>
|
||
<li><a href = '\专栏\左耳听风\027 推荐阅读:分布式系统架构经典资料.md.html'>027 推荐阅读:分布式系统架构经典资料</a></li>
|
||
<li><a href = '\专栏\左耳听风\028 编程范式游记(1)- 起源.md.html'>028 编程范式游记(1)- 起源</a></li>
|
||
<li><a href = '\专栏\左耳听风\029 编程范式游记(2)- 泛型编程.md.html'>029 编程范式游记(2)- 泛型编程</a></li>
|
||
<li><a href = '\专栏\左耳听风\030 编程范式游记(3) - 类型系统和泛型的本质.md.html'>030 编程范式游记(3) - 类型系统和泛型的本质</a></li>
|
||
<li><a href = '\专栏\左耳听风\031 Git协同工作流,你该怎样选.md.html'>031 Git协同工作流,你该怎样选</a></li>
|
||
<li><a href = '\专栏\左耳听风\032 推荐阅读:分布式数据调度相关论文.md.html'>032 推荐阅读:分布式数据调度相关论文</a></li>
|
||
<li><a href = '\专栏\左耳听风\033 编程范式游记(4)- 函数式编程.md.html'>033 编程范式游记(4)- 函数式编程</a></li>
|
||
<li><a href = '\专栏\左耳听风\034 编程范式游记(5)- 修饰器模式.md.html'>034 编程范式游记(5)- 修饰器模式</a></li>
|
||
<li><a href = '\专栏\左耳听风\035 编程范式游记(6)- 面向对象编程.md.html'>035 编程范式游记(6)- 面向对象编程</a></li>
|
||
<li><a href = '\专栏\左耳听风\036 编程范式游记(7)- 基于原型的编程范式.md.html'>036 编程范式游记(7)- 基于原型的编程范式</a></li>
|
||
<li><a href = '\专栏\左耳听风\037 编程范式游记(8)- Go 语言的委托模式.md.html'>037 编程范式游记(8)- Go 语言的委托模式</a></li>
|
||
<li><a href = '\专栏\左耳听风\038 编程范式游记(9)- 编程的本质.md.html'>038 编程范式游记(9)- 编程的本质</a></li>
|
||
<li><a href = '\专栏\左耳听风\039 编程范式游记(10)- 逻辑编程范式.md.html'>039 编程范式游记(10)- 逻辑编程范式</a></li>
|
||
<li><a href = '\专栏\左耳听风\040 编程范式游记(11)- 程序世界里的编程范式.md.html'>040 编程范式游记(11)- 程序世界里的编程范式</a></li>
|
||
<li><a href = '\专栏\左耳听风\041 弹力设计篇之“认识故障和弹力设计”.md.html'>041 弹力设计篇之“认识故障和弹力设计”</a></li>
|
||
<li><a href = '\专栏\左耳听风\042 弹力设计篇之“隔离设计”.md.html'>042 弹力设计篇之“隔离设计”</a></li>
|
||
<li><a href = '\专栏\左耳听风\043 弹力设计篇之“异步通讯设计”.md.html'>043 弹力设计篇之“异步通讯设计”</a></li>
|
||
<li><a href = '\专栏\左耳听风\044 弹力设计篇之“幂等性设计”.md.html'>044 弹力设计篇之“幂等性设计”</a></li>
|
||
<li><a href = '\专栏\左耳听风\045 弹力设计篇之“服务的状态”.md.html'>045 弹力设计篇之“服务的状态”</a></li>
|
||
<li><a href = '\专栏\左耳听风\046 弹力设计篇之“补偿事务”.md.html'>046 弹力设计篇之“补偿事务”</a></li>
|
||
<li><a href = '\专栏\左耳听风\047 弹力设计篇之“重试设计”.md.html'>047 弹力设计篇之“重试设计”</a></li>
|
||
<li><a href = '\专栏\左耳听风\048 弹力设计篇之“熔断设计”.md.html'>048 弹力设计篇之“熔断设计”</a></li>
|
||
<li><a href = '\专栏\左耳听风\049 弹力设计篇之“限流设计”.md.html'>049 弹力设计篇之“限流设计”</a></li>
|
||
<li><a href = '\专栏\左耳听风\050 弹力设计篇之“降级设计”.md.html'>050 弹力设计篇之“降级设计”</a></li>
|
||
<li><a href = '\专栏\左耳听风\051 弹力设计篇之“弹力设计总结”.md.html'>051 弹力设计篇之“弹力设计总结”</a></li>
|
||
<li><a href = '\专栏\左耳听风\052 区块链技术 - 区块链的革命性及技术概要.md.html'>052 区块链技术 - 区块链的革命性及技术概要</a></li>
|
||
<li><a href = '\专栏\左耳听风\053 区块链技术 - 区块链技术细节 - 哈希算法.md.html'>053 区块链技术 - 区块链技术细节 - 哈希算法</a></li>
|
||
<li><a href = '\专栏\左耳听风\054 区块链技术 - 区块链技术细节 - 加密和挖矿.md.html'>054 区块链技术 - 区块链技术细节 - 加密和挖矿</a></li>
|
||
<li><a href = '\专栏\左耳听风\055 区块链技术 - 去中心化的共识机制.md.html'>055 区块链技术 - 去中心化的共识机制</a></li>
|
||
<li><a href = '\专栏\左耳听风\056 区块链技术 - 智能合约.md.html'>056 区块链技术 - 智能合约</a></li>
|
||
<li><a href = '\专栏\左耳听风\057 区块链技术 - 传统金融和虚拟货币.md.html'>057 区块链技术 - 传统金融和虚拟货币</a></li>
|
||
<li><a href = '\专栏\左耳听风\058 管理设计篇之分布式锁.md.html'>058 管理设计篇之分布式锁</a></li>
|
||
<li><a href = '\专栏\左耳听风\059 管理设计篇之配置中心.md.html'>059 管理设计篇之配置中心</a></li>
|
||
<li><a href = '\专栏\左耳听风\060 管理设计篇之边车模式.md.html'>060 管理设计篇之边车模式</a></li>
|
||
<li><a href = '\专栏\左耳听风\061 管理设计篇之服务网格.md.html'>061 管理设计篇之服务网格</a></li>
|
||
<li><a href = '\专栏\左耳听风\062 管理设计篇之网关模式.md.html'>062 管理设计篇之网关模式</a></li>
|
||
<li><a href = '\专栏\左耳听风\063 管理设计篇之部署升级策略.md.html'>063 管理设计篇之部署升级策略</a></li>
|
||
<li><a href = '\专栏\左耳听风\064 性能设计篇之缓存.md.html'>064 性能设计篇之缓存</a></li>
|
||
<li><a href = '\专栏\左耳听风\065 性能设计篇之异步处理.md.html'>065 性能设计篇之异步处理</a></li>
|
||
<li><a href = '\专栏\左耳听风\066 性能设计篇之数据库扩展.md.html'>066 性能设计篇之数据库扩展</a></li>
|
||
<li><a href = '\专栏\左耳听风\067 性能设计篇之秒杀.md.html'>067 性能设计篇之秒杀</a></li>
|
||
<li><a href = '\专栏\左耳听风\068 性能设计篇之边缘计算.md.html'>068 性能设计篇之边缘计算</a></li>
|
||
<li><a href = '\专栏\左耳听风\069 程序员练级攻略(2018):开篇词.md.html'>069 程序员练级攻略(2018):开篇词</a></li>
|
||
<li><a href = '\专栏\左耳听风\070 程序员练级攻略(2018):零基础启蒙.md.html'>070 程序员练级攻略(2018):零基础启蒙</a></li>
|
||
<li><a href = '\专栏\左耳听风\071 程序员练级攻略(2018):正式入门.md.html'>071 程序员练级攻略(2018):正式入门</a></li>
|
||
<li><a href = '\专栏\左耳听风\072 程序员练级攻略(2018):程序员修养.md.html'>072 程序员练级攻略(2018):程序员修养</a></li>
|
||
<li><a href = '\专栏\左耳听风\073 程序员练级攻略(2018):编程语言.md.html'>073 程序员练级攻略(2018):编程语言</a></li>
|
||
<li><a href = '\专栏\左耳听风\074 程序员练级攻略:理论学科.md.html'>074 程序员练级攻略:理论学科</a></li>
|
||
<li><a href = '\专栏\左耳听风\075 程序员练级攻略(2018):系统知识.md.html'>075 程序员练级攻略(2018):系统知识</a></li>
|
||
<li><a href = '\专栏\左耳听风\076 程序员练级攻略(2018):软件设计.md.html'>076 程序员练级攻略(2018):软件设计</a></li>
|
||
<li><a href = '\专栏\左耳听风\077 程序员练级攻略(2018):Linux系统、内存和网络.md.html'>077 程序员练级攻略(2018):Linux系统、内存和网络</a></li>
|
||
<li><a href = '\专栏\左耳听风\078 程序员练级攻略(2018):异步IO模型和Lock-Free编程.md.html'>078 程序员练级攻略(2018):异步IO模型和Lock-Free编程</a></li>
|
||
<li><a href = '\专栏\左耳听风\079 程序员练级攻略(2018):Java底层知识.md.html'>079 程序员练级攻略(2018):Java底层知识</a></li>
|
||
<li><a href = '\专栏\左耳听风\080 程序员练级攻略(2018):数据库.md.html'>080 程序员练级攻略(2018):数据库</a></li>
|
||
<li><a href = '\专栏\左耳听风\081 程序员练级攻略(2018):分布式架构入门.md.html'>081 程序员练级攻略(2018):分布式架构入门</a></li>
|
||
<li><a href = '\专栏\左耳听风\082 程序员练级攻略(2018):分布式架构经典图书和论文.md.html'>082 程序员练级攻略(2018):分布式架构经典图书和论文</a></li>
|
||
<li><a href = '\专栏\左耳听风\083 程序员练级攻略(2018):分布式架构工程设计.md.html'>083 程序员练级攻略(2018):分布式架构工程设计</a></li>
|
||
<li><a href = '\专栏\左耳听风\084 程序员练级攻略(2018):微服务.md.html'>084 程序员练级攻略(2018):微服务</a></li>
|
||
<li><a href = '\专栏\左耳听风\085 程序员练级攻略(2018):容器化和自动化运维.md.html'>085 程序员练级攻略(2018):容器化和自动化运维</a></li>
|
||
<li><a href = '\专栏\左耳听风\086 程序员练级攻略(2018):机器学习和人工智能.md.html'>086 程序员练级攻略(2018):机器学习和人工智能</a></li>
|
||
<li><a href = '\专栏\左耳听风\087 程序员练级攻略(2018):前端基础和底层原理.md.html'>087 程序员练级攻略(2018):前端基础和底层原理</a></li>
|
||
<li><a href = '\专栏\左耳听风\088 程序员练级攻略(2018):前端性能优化和框架.md.html'>088 程序员练级攻略(2018):前端性能优化和框架</a></li>
|
||
<li><a href = '\专栏\左耳听风\089 程序员练级攻略(2018):UIUX设计.md.html'>089 程序员练级攻略(2018):UIUX设计</a></li>
|
||
<li><a href = '\专栏\左耳听风\090 程序员练级攻略(2018):技术资源集散地.md.html'>090 程序员练级攻略(2018):技术资源集散地</a></li>
|
||
<li><a href = '\专栏\左耳听风\091 程序员面试攻略:面试前的准备.md.html'>091 程序员面试攻略:面试前的准备</a></li>
|
||
<li><a href = '\专栏\左耳听风\092 程序员面试攻略:面试中的技巧.md.html'>092 程序员面试攻略:面试中的技巧</a></li>
|
||
<li><a href = '\专栏\左耳听风\093 程序员面试攻略:面试风格.md.html'>093 程序员面试攻略:面试风格</a></li>
|
||
<li><a href = '\专栏\左耳听风\094 程序员面试攻略:实力才是王中王.md.html'>094 程序员面试攻略:实力才是王中王</a></li>
|
||
<li><a href = '\专栏\左耳听风\095 高效学习:端正学习态度.md.html'>095 高效学习:端正学习态度</a></li>
|
||
<li><a href = '\专栏\左耳听风\096 高效学习:源头、原理和知识地图.md.html'>096 高效学习:源头、原理和知识地图</a></li>
|
||
<li><a href = '\专栏\左耳听风\097 高效学习:深度,归纳和坚持实践.md.html'>097 高效学习:深度,归纳和坚持实践</a></li>
|
||
<li><a href = '\专栏\左耳听风\098 高效学习:如何学习和阅读代码.md.html'>098 高效学习:如何学习和阅读代码</a></li>
|
||
<li><a href = '\专栏\左耳听风\099 高效学习:面对枯燥和量大的知识.md.html'>099 高效学习:面对枯燥和量大的知识</a></li>
|
||
<li><a href = '\专栏\左耳听风\100 高效沟通:Talk和Code同等重要.md.html'>100 高效沟通:Talk和Code同等重要</a></li>
|
||
<li><a href = '\专栏\左耳听风\101 高效沟通:沟通阻碍和应对方法.md.html'>101 高效沟通:沟通阻碍和应对方法</a></li>
|
||
<li><a href = '\专栏\左耳听风\102 高效沟通:沟通方式及技巧.md.html'>102 高效沟通:沟通方式及技巧</a></li>
|
||
<li><a href = '\专栏\左耳听风\103 高效沟通:沟通技术.md.html'>103 高效沟通:沟通技术</a></li>
|
||
<li><a href = '\专栏\左耳听风\104 高效沟通:好老板要善于提问.md.html'>104 高效沟通:好老板要善于提问</a></li>
|
||
<li><a href = '\专栏\左耳听风\105 高效沟通:好好说话的艺术.md.html'>105 高效沟通:好好说话的艺术</a></li>
|
||
<li><a href = '\专栏\左耳听风\106 加餐 谈谈我的“三观”.md.html'>106 加餐 谈谈我的“三观”</a></li>
|
||
<li><a href = '\专栏\左耳听风\107 结束语 业精于勤,行成于思.md.html'>107 结束语 业精于勤,行成于思</a></li>
|
||
</ul>
|
||
</div>
|
||
</div>
|
||
<div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<a class="off-canvas-overlay" onclick="hide_canvas()"></a>
|
||
</div>
|
||
<script defer src="https://static.cloudflareinsights.com/beacon.min.js/v652eace1692a40cfa3763df669d7439c1639079717194"
|
||
integrity="sha512-Gi7xpJR8tSkrpF7aordPZQlW2DLtzUlZcumS8dMQjwDHEnw9I7ZLyiOj/6tZStRBGtGgN6ceN6cMH8z7etPGlw=="
|
||
data-cf-beacon='{"rayId":"70996b2f083d3d60","version":"2021.12.0","r":1,"token":"1f5d475227ce4f0089a7cff1ab17c0f5","si":100}'
|
||
crossorigin="anonymous"></script>
|
||
</body>
|
||
<!-- Global site tag (gtag.js) - Google Analytics -->
|
||
<script async src="https://www.googletagmanager.com/gtag/js?id=G-NPSEEVD756"></script>
|
||
<script>
|
||
window.dataLayer = window.dataLayer || [];
|
||
|
||
function gtag() {
|
||
dataLayer.push(arguments);
|
||
}
|
||
|
||
gtag('js', new Date());
|
||
gtag('config', 'G-NPSEEVD756');
|
||
var path = window.location.pathname
|
||
var cookie = getCookie("lastPath");
|
||
console.log(path)
|
||
if (path.replace("/", "") === "") {
|
||
if (cookie.replace("/", "") !== "") {
|
||
console.log(cookie)
|
||
document.getElementById("tip").innerHTML = "<a href='" + cookie + "'>跳转到上次进度</a>"
|
||
}
|
||
} else {
|
||
setCookie("lastPath", path)
|
||
}
|
||
|
||
function setCookie(cname, cvalue) {
|
||
var d = new Date();
|
||
d.setTime(d.getTime() + (180 * 24 * 60 * 60 * 1000));
|
||
var expires = "expires=" + d.toGMTString();
|
||
document.cookie = cname + "=" + cvalue + "; " + expires + ";path = /";
|
||
}
|
||
|
||
function getCookie(cname) {
|
||
var name = cname + "=";
|
||
var ca = document.cookie.split(';');
|
||
for (var i = 0; i < ca.length; i++) {
|
||
var c = ca[i].trim();
|
||
if (c.indexOf(name) === 0) return c.substring(name.length, c.length);
|
||
}
|
||
return "";
|
||
}
|
||
</script>
|
||
</html>
|