Skip to content

Commit 9922d3f

Browse files
committed
Site updated: 2017-09-18 13:24:19
1 parent fac515b commit 9922d3f

File tree

9 files changed

+60
-60
lines changed

9 files changed

+60
-60
lines changed

2017/09/09/hello-world/index.html

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -52,9 +52,9 @@ <h1 id="logo-wrap">
5252
</nav>
5353
<nav id="sub-nav">
5454

55-
<a id="nav-rss-link" class="nav-icon" href="/atom.xml" title="Flux RSS"></a>
55+
<a id="nav-rss-link" class="nav-icon" href="/atom.xml" title="RSS Feed"></a>
5656

57-
<a id="nav-search-btn" class="nav-icon" title="Rechercher"></a>
57+
<a id="nav-search-btn" class="nav-icon" title="Search"></a>
5858
</nav>
5959
<div id="search-form-wrap">
6060
<form action="//google.com/search" method="get" accept-charset="UTF-8" class="search-form"><input type="search" name="q" class="search-form-input" placeholder="Search"><button type="submit" class="search-form-submit">&#xF002;</button><input type="hidden" name="sitesearch" value="http://yoursite.com"></form>
@@ -98,7 +98,7 @@ <h3 id="Deploy-to-remote-sites"><a href="#Deploy-to-remote-sites" class="headerl
9898

9999
</div>
100100
<footer class="article-footer">
101-
<a data-url="http://yoursite.com/2017/09/09/hello-world/" data-id="cj7ppwza70001acvvslxfa4k8" class="article-share-link">Partager</a>
101+
<a data-url="http://yoursite.com/2017/09/09/hello-world/" data-id="cj7pq6um00002z0vvzltl4t5a" class="article-share-link">Share</a>
102102

103103

104104
</footer>
@@ -108,7 +108,7 @@ <h3 id="Deploy-to-remote-sites"><a href="#Deploy-to-remote-sites" class="headerl
108108
<nav id="article-nav">
109109

110110
<a href="/2017/09/12/关于项目控制台无法输出调试信息/" id="article-nav-newer" class="article-nav-link-wrap">
111-
<strong class="article-nav-caption">Récent</strong>
111+
<strong class="article-nav-caption">Newer</strong>
112112
<div class="article-nav-title">
113113

114114
关于项目控制台无法输出调试信息
@@ -146,7 +146,7 @@ <h3 class="widget-title">Archives</h3>
146146

147147

148148
<div class="widget-wrap">
149-
<h3 class="widget-title">Articles récents</h3>
149+
<h3 class="widget-title">Recent Posts</h3>
150150
<div class="widget">
151151
<ul>
152152

@@ -183,7 +183,7 @@ <h3 class="widget-title">Articles récents</h3>
183183
<div class="outer">
184184
<div id="footer-info" class="inner">
185185
&copy; 2017 John Doe<br>
186-
Propulsé by <a href="http://hexo.io/" target="_blank">Hexo</a>
186+
Powered by <a href="http://hexo.io/" target="_blank">Hexo</a>
187187
</div>
188188
</div>
189189
</footer>

2017/09/12/关于项目控制台无法输出调试信息/index.html

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -52,9 +52,9 @@ <h1 id="logo-wrap">
5252
</nav>
5353
<nav id="sub-nav">
5454

55-
<a id="nav-rss-link" class="nav-icon" href="/atom.xml" title="Flux RSS"></a>
55+
<a id="nav-rss-link" class="nav-icon" href="/atom.xml" title="RSS Feed"></a>
5656

57-
<a id="nav-search-btn" class="nav-icon" title="Rechercher"></a>
57+
<a id="nav-search-btn" class="nav-icon" title="Search"></a>
5858
</nav>
5959
<div id="search-form-wrap">
6060
<form action="//google.com/search" method="get" accept-charset="UTF-8" class="search-form"><input type="search" name="q" class="search-form-input" placeholder="Search"><button type="submit" class="search-form-submit">&#xF002;</button><input type="hidden" name="sitesearch" value="http://yoursite.com"></form>
@@ -96,7 +96,7 @@ <h1 class="article-title" itemprop="name">
9696

9797
</div>
9898
<footer class="article-footer">
99-
<a data-url="http://yoursite.com/2017/09/12/关于项目控制台无法输出调试信息/" data-id="cj7ppwzac0002acvvvq9de37o" class="article-share-link">Partager</a>
99+
<a data-url="http://yoursite.com/2017/09/12/关于项目控制台无法输出调试信息/" data-id="cj7pq6ulx0001z0vvao6quftr" class="article-share-link">Share</a>
100100

101101

102102
</footer>
@@ -106,7 +106,7 @@ <h1 class="article-title" itemprop="name">
106106
<nav id="article-nav">
107107

108108
<a href="/2017/09/13/StringHttpMessageConverter编码的问题/" id="article-nav-newer" class="article-nav-link-wrap">
109-
<strong class="article-nav-caption">Récent</strong>
109+
<strong class="article-nav-caption">Newer</strong>
110110
<div class="article-nav-title">
111111

112112
StringHttpMessageConverter编码的问题
@@ -116,7 +116,7 @@ <h1 class="article-title" itemprop="name">
116116

117117

118118
<a href="/2017/09/09/hello-world/" id="article-nav-older" class="article-nav-link-wrap">
119-
<strong class="article-nav-caption">Ancien</strong>
119+
<strong class="article-nav-caption">Older</strong>
120120
<div class="article-nav-title">Hello World</div>
121121
</a>
122122

@@ -149,7 +149,7 @@ <h3 class="widget-title">Archives</h3>
149149

150150

151151
<div class="widget-wrap">
152-
<h3 class="widget-title">Articles récents</h3>
152+
<h3 class="widget-title">Recent Posts</h3>
153153
<div class="widget">
154154
<ul>
155155

@@ -186,7 +186,7 @@ <h3 class="widget-title">Articles récents</h3>
186186
<div class="outer">
187187
<div id="footer-info" class="inner">
188188
&copy; 2017 John Doe<br>
189-
Propulsé by <a href="http://hexo.io/" target="_blank">Hexo</a>
189+
Powered by <a href="http://hexo.io/" target="_blank">Hexo</a>
190190
</div>
191191
</div>
192192
</footer>

2017/09/13/StringHttpMessageConverter编码的问题/index.html

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -55,9 +55,9 @@ <h1 id="logo-wrap">
5555
</nav>
5656
<nav id="sub-nav">
5757

58-
<a id="nav-rss-link" class="nav-icon" href="/atom.xml" title="Flux RSS"></a>
58+
<a id="nav-rss-link" class="nav-icon" href="/atom.xml" title="RSS Feed"></a>
5959

60-
<a id="nav-search-btn" class="nav-icon" title="Rechercher"></a>
60+
<a id="nav-search-btn" class="nav-icon" title="Search"></a>
6161
</nav>
6262
<div id="search-form-wrap">
6363
<form action="//google.com/search" method="get" accept-charset="UTF-8" class="search-form"><input type="search" name="q" class="search-form-input" placeholder="Search"><button type="submit" class="search-form-submit">&#xF002;</button><input type="hidden" name="sitesearch" value="http://yoursite.com"></form>
@@ -94,7 +94,7 @@ <h1 class="article-title" itemprop="name">
9494

9595
</div>
9696
<footer class="article-footer">
97-
<a data-url="http://yoursite.com/2017/09/13/StringHttpMessageConverter编码的问题/" data-id="cj7ppwza10000acvvbfhouonr" class="article-share-link">Partager</a>
97+
<a data-url="http://yoursite.com/2017/09/13/StringHttpMessageConverter编码的问题/" data-id="cj7pq6ulr0000z0vvq5wajdcv" class="article-share-link">Share</a>
9898

9999

100100
</footer>
@@ -104,7 +104,7 @@ <h1 class="article-title" itemprop="name">
104104
<nav id="article-nav">
105105

106106
<a href="/2017/09/14/前台json获取数据为undefined/" id="article-nav-newer" class="article-nav-link-wrap">
107-
<strong class="article-nav-caption">Récent</strong>
107+
<strong class="article-nav-caption">Newer</strong>
108108
<div class="article-nav-title">
109109

110110
前台json获取数据为undefined
@@ -114,7 +114,7 @@ <h1 class="article-title" itemprop="name">
114114

115115

116116
<a href="/2017/09/12/关于项目控制台无法输出调试信息/" id="article-nav-older" class="article-nav-link-wrap">
117-
<strong class="article-nav-caption">Ancien</strong>
117+
<strong class="article-nav-caption">Older</strong>
118118
<div class="article-nav-title">关于项目控制台无法输出调试信息</div>
119119
</a>
120120

@@ -147,7 +147,7 @@ <h3 class="widget-title">Archives</h3>
147147

148148

149149
<div class="widget-wrap">
150-
<h3 class="widget-title">Articles récents</h3>
150+
<h3 class="widget-title">Recent Posts</h3>
151151
<div class="widget">
152152
<ul>
153153

@@ -184,7 +184,7 @@ <h3 class="widget-title">Articles récents</h3>
184184
<div class="outer">
185185
<div id="footer-info" class="inner">
186186
&copy; 2017 John Doe<br>
187-
Propulsé by <a href="http://hexo.io/" target="_blank">Hexo</a>
187+
Powered by <a href="http://hexo.io/" target="_blank">Hexo</a>
188188
</div>
189189
</div>
190190
</footer>

2017/09/14/前台json获取数据为undefined/index.html

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -52,9 +52,9 @@ <h1 id="logo-wrap">
5252
</nav>
5353
<nav id="sub-nav">
5454

55-
<a id="nav-rss-link" class="nav-icon" href="/atom.xml" title="Flux RSS"></a>
55+
<a id="nav-rss-link" class="nav-icon" href="/atom.xml" title="RSS Feed"></a>
5656

57-
<a id="nav-search-btn" class="nav-icon" title="Rechercher"></a>
57+
<a id="nav-search-btn" class="nav-icon" title="Search"></a>
5858
</nav>
5959
<div id="search-form-wrap">
6060
<form action="//google.com/search" method="get" accept-charset="UTF-8" class="search-form"><input type="search" name="q" class="search-form-input" placeholder="Search"><button type="submit" class="search-form-submit">&#xF002;</button><input type="hidden" name="sitesearch" value="http://yoursite.com"></form>
@@ -91,7 +91,7 @@ <h1 class="article-title" itemprop="name">
9191

9292
</div>
9393
<footer class="article-footer">
94-
<a data-url="http://yoursite.com/2017/09/14/前台json获取数据为undefined/" data-id="cj7ppwzaf0003acvvswxfe117" class="article-share-link">Partager</a>
94+
<a data-url="http://yoursite.com/2017/09/14/前台json获取数据为undefined/" data-id="cj7pq6um30003z0vvynqlamwx" class="article-share-link">Share</a>
9595

9696

9797
</footer>
@@ -101,7 +101,7 @@ <h1 class="article-title" itemprop="name">
101101
<nav id="article-nav">
102102

103103
<a href="/2017/09/17/开发中遇到的数据库更新丢失问题/" id="article-nav-newer" class="article-nav-link-wrap">
104-
<strong class="article-nav-caption">Récent</strong>
104+
<strong class="article-nav-caption">Newer</strong>
105105
<div class="article-nav-title">
106106

107107
开发中遇到的数据库更新丢失问题
@@ -111,7 +111,7 @@ <h1 class="article-title" itemprop="name">
111111

112112

113113
<a href="/2017/09/13/StringHttpMessageConverter编码的问题/" id="article-nav-older" class="article-nav-link-wrap">
114-
<strong class="article-nav-caption">Ancien</strong>
114+
<strong class="article-nav-caption">Older</strong>
115115
<div class="article-nav-title">StringHttpMessageConverter编码的问题</div>
116116
</a>
117117

@@ -144,7 +144,7 @@ <h3 class="widget-title">Archives</h3>
144144

145145

146146
<div class="widget-wrap">
147-
<h3 class="widget-title">Articles récents</h3>
147+
<h3 class="widget-title">Recent Posts</h3>
148148
<div class="widget">
149149
<ul>
150150

@@ -181,7 +181,7 @@ <h3 class="widget-title">Articles récents</h3>
181181
<div class="outer">
182182
<div id="footer-info" class="inner">
183183
&copy; 2017 John Doe<br>
184-
Propulsé by <a href="http://hexo.io/" target="_blank">Hexo</a>
184+
Powered by <a href="http://hexo.io/" target="_blank">Hexo</a>
185185
</div>
186186
</div>
187187
</footer>

2017/09/17/开发中遇到的数据库更新丢失问题/index.html

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -11,14 +11,14 @@
1111
<meta property="og:url" content="http://yoursite.com/2017/09/17/开发中遇到的数据库更新丢失问题/index.html">
1212
<meta property="og:site_name" content="Hexo">
1313
<meta property="og:description" content="我自己测试的时候发现有更新丢失的现象,还是第一次发现这个问题,研究了一下前提:什么是数据库更新丢失?举个栗子,假设有如下情况:  1、小A查询了数据库  2、小B也查询了数据库,两个人不在同一个session中  3、小A修改了数据库中的一行,并提交  4、小B也修改了数据库的一行,但提交晚于小A  这个时候,小B的修改会覆盖小A的修改,就发生了数据库更新丢失的问题 解决方案:">
14-
<meta property="og:image" content="http://yoursite.com/2017/09/17/images/success.png">
14+
<meta property="og:image" content="http://yoursite.com/2017/09/17/images/success.PNG">
1515
<meta property="og:image" content="http://yoursite.com/2017/09/17/images/errorupdate.png">
16-
<meta property="og:image" content="http://yoursite.com/2017/09/17/images/updateoptm.png">
17-
<meta property="og:updated_time" content="2017-09-18T05:18:31.865Z">
16+
<meta property="og:image" content="http://yoursite.com/2017/09/17/images/updateoptm.PNG">
17+
<meta property="og:updated_time" content="2017-09-18T05:23:46.491Z">
1818
<meta name="twitter:card" content="summary">
1919
<meta name="twitter:title" content="开发中遇到的数据库更新丢失问题">
2020
<meta name="twitter:description" content="我自己测试的时候发现有更新丢失的现象,还是第一次发现这个问题,研究了一下前提:什么是数据库更新丢失?举个栗子,假设有如下情况:  1、小A查询了数据库  2、小B也查询了数据库,两个人不在同一个session中  3、小A修改了数据库中的一行,并提交  4、小B也修改了数据库的一行,但提交晚于小A  这个时候,小B的修改会覆盖小A的修改,就发生了数据库更新丢失的问题 解决方案:">
21-
<meta name="twitter:image" content="http://yoursite.com/2017/09/17/images/success.png">
21+
<meta name="twitter:image" content="http://yoursite.com/2017/09/17/images/success.PNG">
2222

2323
<link rel="alternate" href="/atom.xml" title="Hexo" type="application/atom+xml">
2424

@@ -56,9 +56,9 @@ <h1 id="logo-wrap">
5656
</nav>
5757
<nav id="sub-nav">
5858

59-
<a id="nav-rss-link" class="nav-icon" href="/atom.xml" title="Flux RSS"></a>
59+
<a id="nav-rss-link" class="nav-icon" href="/atom.xml" title="RSS Feed"></a>
6060

61-
<a id="nav-search-btn" class="nav-icon" title="Rechercher"></a>
61+
<a id="nav-search-btn" class="nav-icon" title="Search"></a>
6262
</nav>
6363
<div id="search-form-wrap">
6464
<form action="//google.com/search" method="get" accept-charset="UTF-8" class="search-form"><input type="search" name="q" class="search-form-input" placeholder="Search"><button type="submit" class="search-form-submit">&#xF002;</button><input type="hidden" name="sitesearch" value="http://yoursite.com"></form>
@@ -90,12 +90,12 @@ <h1 class="article-title" itemprop="name">
9090
<div class="article-entry" itemprop="articleBody">
9191

9292
<p>我自己测试的时候发现有更新丢失的现象,还是第一次发现这个问题,研究了一下<br><br>前提:什么是数据库更新丢失?<br><br>举个栗子,假设有如下情况:<br><br>  1、小A查询了数据库<br><br>  2、小B也查询了数据库,两个人不在同一个session中<br><br>  3、小A修改了数据库中的一行,并提交<br><br>  4、小B也修改了数据库的一行,但提交晚于小A<br><br>  这个时候,小B的修改会覆盖小A的修改,就发生了数据库更新丢失的问题<br></p>
93-
<p> 解决方案:<br><br>  1、悲观锁<br><br>   通过采用select for update或者select for update nowait,<br><br>   逻辑是:<br><br>   小A先查<br>   <br><br>   <img src="../images/success.png" alt=""><br>    小B后查<br>   <img src="../images/errorupdate.png" alt=" "><br> 小B的查询会锁住,在页面的表现应该就是阻塞,什么数据也没有。<br><br><br>  2、乐观锁<br><br>    采用在数据库中表中加版本号和时间戳的形式进行加锁,项目中采用的是时间戳的形式,因为个别表中有这个字段:op_tm–操作时间。<br><br>   逻辑是:<br><br>    在update的时候,比较旧的时间戳,因为所有更新都会更新时间戳,那么最后一次更新也就是步骤四中的时间戳还是旧的时间戳,但已经被步骤三的替代了,所以步骤四的更新会失败。步骤三的更新得以保存,步骤四的“丢失”。步骤四的“丢失”算不算更新丢失,不算,因为是建立在错误数据的更新。<br><br> <img src="../images/updateoptm.png" alt="    "></p>
93+
<p> 解决方案:<br><br>  1、悲观锁<br><br>   通过采用select for update或者select for update nowait,<br><br>   逻辑是:<br><br>   小A先查<br>   <br><br>   <img src="../images/success.PNG" alt=""><br>    小B后查<br>   <img src="../images/errorupdate.png" alt=" "><br> 小B的查询会锁住,在页面的表现应该就是阻塞,什么数据也没有。<br><br><br>  2、乐观锁<br><br>    采用在数据库中表中加版本号和时间戳的形式进行加锁,项目中采用的是时间戳的形式,因为个别表中有这个字段:op_tm–操作时间。<br><br>   逻辑是:<br><br>    在update的时候,比较旧的时间戳,因为所有更新都会更新时间戳,那么最后一次更新也就是步骤四中的时间戳还是旧的时间戳,但已经被步骤三的替代了,所以步骤四的更新会失败。步骤三的更新得以保存,步骤四的“丢失”。步骤四的“丢失”算不算更新丢失,不算,因为是建立在错误数据的更新。<br><br> <img src="../images/updateoptm.PNG" alt="    "></p>
9494

9595

9696
</div>
9797
<footer class="article-footer">
98-
<a data-url="http://yoursite.com/2017/09/17/开发中遇到的数据库更新丢失问题/" data-id="cj7ppwzah0004acvvxc1a25g7" class="article-share-link">Partager</a>
98+
<a data-url="http://yoursite.com/2017/09/17/开发中遇到的数据库更新丢失问题/" data-id="cj7pq6um40004z0vvqqi4svhj" class="article-share-link">Share</a>
9999

100100

101101
</footer>
@@ -106,7 +106,7 @@ <h1 class="article-title" itemprop="name">
106106

107107

108108
<a href="/2017/09/14/前台json获取数据为undefined/" id="article-nav-older" class="article-nav-link-wrap">
109-
<strong class="article-nav-caption">Ancien</strong>
109+
<strong class="article-nav-caption">Older</strong>
110110
<div class="article-nav-title">前台json获取数据为undefined</div>
111111
</a>
112112

@@ -139,7 +139,7 @@ <h3 class="widget-title">Archives</h3>
139139

140140

141141
<div class="widget-wrap">
142-
<h3 class="widget-title">Articles récents</h3>
142+
<h3 class="widget-title">Recent Posts</h3>
143143
<div class="widget">
144144
<ul>
145145

@@ -176,7 +176,7 @@ <h3 class="widget-title">Articles récents</h3>
176176
<div class="outer">
177177
<div id="footer-info" class="inner">
178178
&copy; 2017 John Doe<br>
179-
Propulsé by <a href="http://hexo.io/" target="_blank">Hexo</a>
179+
Powered by <a href="http://hexo.io/" target="_blank">Hexo</a>
180180
</div>
181181
</div>
182182
</footer>

archives/2017/09/index.html

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -48,9 +48,9 @@ <h1 id="logo-wrap">
4848
</nav>
4949
<nav id="sub-nav">
5050

51-
<a id="nav-rss-link" class="nav-icon" href="/atom.xml" title="Flux RSS"></a>
51+
<a id="nav-rss-link" class="nav-icon" href="/atom.xml" title="RSS Feed"></a>
5252

53-
<a id="nav-search-btn" class="nav-icon" title="Rechercher"></a>
53+
<a id="nav-search-btn" class="nav-icon" title="Search"></a>
5454
</nav>
5555
<div id="search-form-wrap">
5656
<form action="//google.com/search" method="get" accept-charset="UTF-8" class="search-form"><input type="search" name="q" class="search-form-input" placeholder="Search"><button type="submit" class="search-form-submit">&#xF002;</button><input type="hidden" name="sitesearch" value="http://yoursite.com"></form>
@@ -193,7 +193,7 @@ <h3 class="widget-title">Archives</h3>
193193

194194

195195
<div class="widget-wrap">
196-
<h3 class="widget-title">Articles récents</h3>
196+
<h3 class="widget-title">Recent Posts</h3>
197197
<div class="widget">
198198
<ul>
199199

@@ -230,7 +230,7 @@ <h3 class="widget-title">Articles récents</h3>
230230
<div class="outer">
231231
<div id="footer-info" class="inner">
232232
&copy; 2017 John Doe<br>
233-
Propulsé by <a href="http://hexo.io/" target="_blank">Hexo</a>
233+
Powered by <a href="http://hexo.io/" target="_blank">Hexo</a>
234234
</div>
235235
</div>
236236
</footer>

0 commit comments

Comments
 (0)