-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathindex.html
More file actions
205 lines (193 loc) · 30.5 KB
/
Copy pathindex.html
File metadata and controls
205 lines (193 loc) · 30.5 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
<!DOCTYPE html><html lang="en" data-theme="light"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1"><title>LuXuanyu</title><meta name="author" content="Xuanyu Lu"><meta name="copyright" content="Xuanyu Lu"><meta name="format-detection" content="telephone=no"><meta name="theme-color" content="#ffffff"><meta property="og:type" content="website">
<meta property="og:title" content="LuXuanyu">
<meta property="og:url" content="https://william-lu-stack.github.io/index.html">
<meta property="og:site_name" content="LuXuanyu">
<meta property="og:locale" content="en_US">
<meta property="og:image" content="https://william-lu-stack.github.io/img/avatar.png">
<meta property="article:author" content="Xuanyu Lu">
<meta name="twitter:card" content="summary">
<meta name="twitter:image" content="https://william-lu-stack.github.io/img/avatar.png"><link rel="shortcut icon" href="/img/favicon.png"><link rel="canonical" href="https://william-lu-stack.github.io/"><link rel="preconnect" href="//cdn.jsdelivr.net"/><link rel="preconnect" href="//busuanzi.ibruce.info"/><meta name="yandex-verification" content="{"theme_color":{"enable":true,"main":"#49B1F5","paginator":"#00c4b6","button_hover":"#FF7242","text_selection":"#00c4b6","link_color":"#99a9bf","meta_color":"#858585","hr_color":"#A4D8FA","code_foreground":"#F47466","code_background":"rgba(27, 31, 35, .05)","toc_color":"#00c4b6","blockquote_padding_color":"#49b1f5","blockquote_background_color":"#49b1f5"}}"/><link rel="stylesheet" href="/css/index.css"><link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@fortawesome/fontawesome-free/css/all.min.css" media="print" onload="this.media='all'"><link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/node-snackbar/dist/snackbar.min.css" media="print" onload="this.media='all'"><script async="async" src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script><script>(adsbygoogle = window.adsbygoogle || []).push({
google_ad_client: '',
enable_page_level_ads: 'true'
});</script><script>const GLOBAL_CONFIG = {
root: '/',
algolia: undefined,
localSearch: undefined,
translate: {"defaultEncoding":2,"translateDelay":0,"msgToTraditionalChinese":"繁","msgToSimplifiedChinese":"簡"},
noticeOutdate: undefined,
highlight: {"plugin":"highlighjs","highlightCopy":true,"highlightLang":true},
copy: {
success: 'Copy successfully',
error: 'Copy error',
noSupport: 'The browser does not support'
},
relativeDate: {
homepage: false,
post: false
},
runtime: '',
date_suffix: {
just: 'Just',
min: 'minutes ago',
hour: 'hours ago',
day: 'days ago',
month: 'months ago'
},
copyright: {"limitCount":50,"languages":{"author":"Author: Xuanyu Lu","link":"Link: ","source":"Source: LuXuanyu","info":"Copyright is owned by the author. For commercial reprints, please contact the author for authorization. For non-commercial reprints, please indicate the source."}},
lightbox: 'fancybox',
Snackbar: {"chs_to_cht":"Traditional Chinese Activated Manually","cht_to_chs":"Simplified Chinese Activated Manually","day_to_night":"Dark Mode Activated Manually","night_to_day":"Light Mode Activated Manually","bgLight":"#49b1f5","bgDark":"#121212","position":"bottom-left"},
source: {
jQuery: 'https://cdn.jsdelivr.net/npm/jquery@latest/dist/jquery.min.js',
justifiedGallery: {
js: 'https://cdn.jsdelivr.net/npm/justifiedGallery/dist/js/jquery.justifiedGallery.min.js',
css: 'https://cdn.jsdelivr.net/npm/justifiedGallery/dist/css/justifiedGallery.min.css'
},
fancybox: {
js: 'https://cdn.jsdelivr.net/npm/@fancyapps/fancybox@latest/dist/jquery.fancybox.min.js',
css: 'https://cdn.jsdelivr.net/npm/@fancyapps/fancybox@latest/dist/jquery.fancybox.min.css'
}
},
isPhotoFigcaption: true,
islazyload: true,
isanchor: true
}</script><script id="config-diff">var GLOBAL_CONFIG_SITE = {
isPost: false,
isHome: true,
isHighlightShrink: false,
isToc: false,
postUpdate: '2021-03-04 15:17:30'
}</script><noscript><style type="text/css">
#nav {
opacity: 1
}
.justified-gallery img {
opacity: 1
}
#recent-posts time,
#post-meta time {
display: inline !important
}
</style></noscript><script>(win=>{
win.saveToLocal = {
set: function setWithExpiry(key, value, ttl) {
if (ttl === 0) return
const now = new Date()
const expiryDay = ttl * 86400000
const item = {
value: value,
expiry: now.getTime() + expiryDay,
}
localStorage.setItem(key, JSON.stringify(item))
},
get: function getWithExpiry(key) {
const itemStr = localStorage.getItem(key)
if (!itemStr) {
return undefined
}
const item = JSON.parse(itemStr)
const now = new Date()
if (now.getTime() > item.expiry) {
localStorage.removeItem(key)
return undefined
}
return item.value
}
}
win.getScript = url => new Promise((resolve, reject) => {
const script = document.createElement('script')
script.src = url
script.async = true
script.onerror = reject
script.onload = script.onreadystatechange = function() {
const loadState = this.readyState
if (loadState && loadState !== 'loaded' && loadState !== 'complete') return
script.onload = script.onreadystatechange = null
resolve()
}
document.head.appendChild(script)
})
win.activateDarkMode = function () {
document.documentElement.setAttribute('data-theme', 'dark')
if (document.querySelector('meta[name="theme-color"]') !== null) {
document.querySelector('meta[name="theme-color"]').setAttribute('content', '#0d0d0d')
}
}
win.activateLightMode = function () {
document.documentElement.setAttribute('data-theme', 'light')
if (document.querySelector('meta[name="theme-color"]') !== null) {
document.querySelector('meta[name="theme-color"]').setAttribute('content', '#ffffff')
}
}
const t = saveToLocal.get('theme')
if (t === 'dark') activateDarkMode()
else if (t === 'light') activateLightMode()
const asideStatus = saveToLocal.get('aside-status')
if (asideStatus !== undefined) {
if (asideStatus === 'hide') {
document.documentElement.classList.add('hide-aside')
} else {
document.documentElement.classList.remove('hide-aside')
}
}
const fontSizeVal = saveToLocal.get('global-font-size')
if (fontSizeVal !== undefined) {
document.documentElement.style.setProperty('--global-font-size', fontSizeVal + 'px')
}
})(window)</script><link rel="stylesheet" href="/img/icon"><meta name="generator" content="Hexo 5.4.0"></head><body><div id="loading-box"><div class="loading-left-bg"></div><div class="loading-right-bg"></div><div class="spinner-box"><div class="configure-border-1"><div class="configure-core"></div></div><div class="configure-border-2"><div class="configure-core"></div></div><div class="loading-word">Loading...</div></div></div><div id="web_bg"></div><div id="sidebar"><div id="menu-mask"></div><div id="sidebar-menus"><div class="author-avatar"><img class="avatar-img" data-lazy-src="/img/avatar.png" onerror="onerror=null;src='/img/friend_404.gif'" alt="avatar"/></div><div class="site-data"><div class="data-item is-center"><div class="data-item-link"><a href="/archives/"><div class="headline">Articles</div><div class="length-num">8</div></a></div></div><div class="data-item is-center"><div class="data-item-link"><a href="/tags/"><div class="headline">Tags</div><div class="length-num">3</div></a></div></div><div class="data-item is-center"><div class="data-item-link"><a href="/categories/"><div class="headline">Categories</div><div class="length-num">3</div></a></div></div></div><hr/><div class="menus_items"><div class="menus_item"><a class="site-page" href="/"><i class="fa-fw fas fa-home"></i><span> Home</span></a></div><div class="menus_item"><a class="site-page" href="/archives/"><i class="fa-fw fas fa-archive"></i><span> Archives</span></a></div><div class="menus_item"><a class="site-page" href="/tags/"><i class="fa-fw fas fa-tags"></i><span> Tags</span></a></div><div class="menus_item"><a class="site-page" href="/categories/"><i class="fa-fw fas fa-folder-open"></i><span> Categories</span></a></div><div class="menus_item"><a class="site-page" href="javascript:void(0);"><i class="fa-fw fas fa-list"></i><span> List</span><i class="fas fa-chevron-down expand"></i></a><ul class="menus_item_child"><li><a class="site-page" href="/music/"><i class="fa-fw fas fa-music"></i><span> Music</span></a></li><li><a class="site-page" href="/movies/"><i class="fa-fw fas fa-video"></i><span> Movie</span></a></li></ul></div><div class="menus_item"><a class="site-page" href="/link/"><i class="fa-fw fas fa-link"></i><span> Link</span></a></div><div class="menus_item"><a class="site-page" href="/about/"><i class="fa-fw fas fa-heart"></i><span> About</span></a></div></div></div></div><div class="page" id="body-wrap"><header class="full_page" id="page-header" style="background-image: url('https://th.bing.com/th/id/Rf3de8271e824c061d7e75a9f7b9b5a38?rik=H2LvctSPWR65ng&riu=http%3a%2f%2fpicture.ik123.com%2fuploads%2fallimg%2f171127%2f12-1G12G43525.jpg&ehk=LAiq3o2jucAlIuB6OH2d0Yyj9kFCgbhQ3DSwcYuLXos%3d&risl=&pid=ImgRaw')"><nav id="nav"><span id="blog_name"><a id="site-name" href="/">LuXuanyu</a></span><div id="menus"><div class="menus_items"><div class="menus_item"><a class="site-page" href="/"><i class="fa-fw fas fa-home"></i><span> Home</span></a></div><div class="menus_item"><a class="site-page" href="/archives/"><i class="fa-fw fas fa-archive"></i><span> Archives</span></a></div><div class="menus_item"><a class="site-page" href="/tags/"><i class="fa-fw fas fa-tags"></i><span> Tags</span></a></div><div class="menus_item"><a class="site-page" href="/categories/"><i class="fa-fw fas fa-folder-open"></i><span> Categories</span></a></div><div class="menus_item"><a class="site-page" href="javascript:void(0);"><i class="fa-fw fas fa-list"></i><span> List</span><i class="fas fa-chevron-down expand"></i></a><ul class="menus_item_child"><li><a class="site-page" href="/music/"><i class="fa-fw fas fa-music"></i><span> Music</span></a></li><li><a class="site-page" href="/movies/"><i class="fa-fw fas fa-video"></i><span> Movie</span></a></li></ul></div><div class="menus_item"><a class="site-page" href="/link/"><i class="fa-fw fas fa-link"></i><span> Link</span></a></div><div class="menus_item"><a class="site-page" href="/about/"><i class="fa-fw fas fa-heart"></i><span> About</span></a></div></div><div id="toggle-menu"><a class="site-page"><i class="fas fa-bars fa-fw"></i></a></div></div></nav><div id="site-info"><h1 id="site-title">LuXuanyu</h1><div id="site-subtitle"><span id="subtitle"></span></div><div id="site_social_icons"><a class="social-icon" href="https://github.com/William-Lu-stack" target="_blank" title="Github"><i class="fab fa-github"></i></a><a class="social-icon" href="mailto:luxuanyuwilliam@gmail.com" target="_blank" title="Email"><i class="fas fa-envelope"></i></a></div></div><div id="scroll-down"><i class="fas fa-angle-down scroll-down-effects"></i></div></header><main class="layout" id="content-inner"><div class="recent-posts" id="recent-posts"><div class="recent-post-item"><div class="post_cover left_radius"><a href="/2021/03/04/Pokemon/" title="Pokemon"> <img class="post_bg" data-lazy-src="http://i3.sinaimg.cn/ast/2012/0910/U5593P54DT20120910151702.jpg" onerror="this.onerror=null;this.src='/img/404.jpg'" alt="Pokemon"></a></div><div class="recent-post-info"><a class="article-title" href="/2021/03/04/Pokemon/" title="Pokemon">Pokemon</a><div class="article-meta-wrap"><span class="article-meta"><span class="article-meta__separator">|</span><i class="fas fa-inbox"></i><a class="article-meta__categories" href="/categories/game/">game</a></span><span class="article-meta tags"><span class="article-meta__separator">|</span><i class="fas fa-tag"></i><a class="article-meta__tags" href="/tags/java/">java</a></span></div><div class="content">Lately I was thinking about using API to implement a simple game like Pokemon which can help client adapt the Pokemon and keep it into the intelligent balls. Also, if you add more Pokemon’s skills you can make clients doing PVP through servers by using TCP(I will talk about it later).
Initiate the model of general Pokemonpublic class Pokemon { private String name; private String url; Pokemon(String name, String url) { this.name = name; this.url = url; ...</div></div></div><div class="recent-post-item"><div class="post_cover right_radius"><a href="/2021/03/04/hashDictionary/" title="HashDictionary"> <img class="post_bg" data-lazy-src="https://cdn.jsdelivr.net/gh/jerryc127/CDN@latest/cover/default_bg.png" onerror="this.onerror=null;this.src='/img/404.jpg'" alt="HashDictionary"></a></div><div class="recent-post-info"><a class="article-title" href="/2021/03/04/hashDictionary/" title="HashDictionary">HashDictionary</a><div class="article-meta-wrap"><span class="article-meta"><span class="article-meta__separator">|</span><i class="fas fa-inbox"></i><a class="article-meta__categories" href="/categories/project/">project</a></span><span class="article-meta tags"><span class="article-meta__separator">|</span><i class="fas fa-tag"></i><a class="article-meta__tags" href="/tags/C/">C</a></span></div><div class="content">Using LInkedList and Hashmap to create a dictionaryLately I was revising the LinkedList and Hashmap, I was thinking about the usage of them. The first idea my brain generates is the dictionary. It has root node(e.g Using order of Alphabet to sort the first letter), and has pointer point to the next node(e.g the next letter will point the direction). Hashmap could be used to decide the rules of ordering dictionary.
Initiate the node and the hash tabletypedef struct node{ char word[LENGTH ...</div></div></div><div class="recent-post-item"><div class="post_cover left_radius"><a href="/2021/03/04/fakegram/" title="fakegram"> <img class="post_bg" data-lazy-src="https://th.bing.com/th/id/R520b1f4596a8452b8f6d7c31577c0817?rik=zSGL9zeMmaRQ5g&riu=http%3a%2f%2ffile06.16sucai.com%2f2016%2f0926%2f59bae37662e8f718957d0d8692306317.jpg&ehk=mmFQgrXhn%2b5NrsEzgpa035wVCSd4%2fZaXV0fxQkFhIR0%3d&risl=&pid=ImgRaw" onerror="this.onerror=null;this.src='/img/404.jpg'" alt="fakegram"></a></div><div class="recent-post-info"><a class="article-title" href="/2021/03/04/fakegram/" title="fakegram">fakegram</a><div class="article-meta-wrap"><span class="article-meta"><span class="article-meta__separator">|</span><i class="fas fa-inbox"></i><a class="article-meta__categories" href="/categories/project/">project</a></span><span class="article-meta tags"><span class="article-meta__separator">|</span><i class="fas fa-tag"></i><a class="article-meta__tags" href="/tags/java/">java</a></span></div><div class="content">Fakegram appLately I was trying to get in touch with android app’s development, I did a simple upload and download photo app which is also with some filters on it. In my opinion it is more like a skeleton which you can add more filters or other properties on it.
Below is the code which using Androiid studio to implementimport androidx.annotation.NonNull;import androidx.appcompat.app.AppCompatActivity;import androidx.core.app.ActivityCompat;import androidx.core.content.ContextCompat;import androi ...</div></div></div><div class="recent-post-item"><div class="post_cover right_radius"><a href="/2021/03/03/concurrent/" title="concurrent"> <img class="post_bg" data-lazy-src="https://th.bing.com/th/id/R520b1f4596a8452b8f6d7c31577c0817?rik=zSGL9zeMmaRQ5g&riu=http%3a%2f%2ffile06.16sucai.com%2f2016%2f0926%2f59bae37662e8f718957d0d8692306317.jpg&ehk=mmFQgrXhn%2b5NrsEzgpa035wVCSd4%2fZaXV0fxQkFhIR0%3d&risl=&pid=ImgRaw" onerror="this.onerror=null;this.src='/img/404.jpg'" alt="concurrent"></a></div><div class="recent-post-info"><a class="article-title" href="/2021/03/03/concurrent/" title="concurrent">concurrent</a><div class="article-meta-wrap"><span class="article-meta"><span class="article-meta__separator">|</span><i class="fas fa-inbox"></i><a class="article-meta__categories" href="/categories/project/">project</a></span><span class="article-meta tags"><span class="article-meta__separator">|</span><i class="fas fa-tag"></i><a class="article-meta__tags" href="/tags/C/">C++</a></span></div><div class="content">ConcurrencyConceptThe concurrency is developed because of the improvement of hardware so that people can run several processes simultaneously and several threads in each process. However, as the speed of computation is too fast to control, threads’ sequence cannot be predicted. This will cause problems like when a depositor tries to save a sum of money to the bank, the bank needs to make sure the account to be saved is accurate. If right now lots of depositor tries to save money to the bank at t ...</div></div></div><div class="recent-post-item"><div class="post_cover left_radius"><a href="/2021/03/02/BinaryTree/" title="BinaryTree"> <img class="post_bg" data-lazy-src="https://th.bing.com/th/id/R520b1f4596a8452b8f6d7c31577c0817?rik=zSGL9zeMmaRQ5g&riu=http%3a%2f%2ffile06.16sucai.com%2f2016%2f0926%2f59bae37662e8f718957d0d8692306317.jpg&ehk=mmFQgrXhn%2b5NrsEzgpa035wVCSd4%2fZaXV0fxQkFhIR0%3d&risl=&pid=ImgRaw" onerror="this.onerror=null;this.src='/img/404.jpg'" alt="BinaryTree"></a></div><div class="recent-post-info"><a class="article-title" href="/2021/03/02/BinaryTree/" title="BinaryTree">BinaryTree</a><div class="article-meta-wrap"><span class="article-meta"><span class="article-meta__separator">|</span><i class="fas fa-inbox"></i><a class="article-meta__categories" href="/categories/data-structure/">data structure</a></span><span class="article-meta tags"><span class="article-meta__separator">|</span><i class="fas fa-tag"></i><a class="article-meta__tags" href="/tags/java/">java</a></span></div><div class="content">Data Structure-BinaryTreeSortedLast blog I wrote about the LinkedList which is consist of nodes and each node has one pointer points to the next node.BinaryTree is a bit different. It has one root node and then the node has two pointers point to two nodes and so on. We can get a data structure looks like a tree so we call it binary tree. It is very useful in many kinds of situations such as searching , sorting etc. It saves time because usually its time complexity will be always O(nlogn) or O(n) ...</div></div></div><div class="recent-post-item"><div class="post_cover right_radius"><a href="/2021/03/02/linklist/" title="LinkedList"> <img class="post_bg" data-lazy-src="https://th.bing.com/th/id/R520b1f4596a8452b8f6d7c31577c0817?rik=zSGL9zeMmaRQ5g&riu=http%3a%2f%2ffile06.16sucai.com%2f2016%2f0926%2f59bae37662e8f718957d0d8692306317.jpg&ehk=mmFQgrXhn%2b5NrsEzgpa035wVCSd4%2fZaXV0fxQkFhIR0%3d&risl=&pid=ImgRaw" onerror="this.onerror=null;this.src='/img/404.jpg'" alt="LinkedList"></a></div><div class="recent-post-info"><a class="article-title" href="/2021/03/02/linklist/" title="LinkedList">LinkedList</a><div class="article-meta-wrap"><span class="article-meta"><span class="article-meta__separator">|</span><i class="fas fa-inbox"></i><a class="article-meta__categories" href="/categories/data-structure/">data structure</a></span><span class="article-meta tags"><span class="article-meta__separator">|</span><i class="fas fa-tag"></i><a class="article-meta__tags" href="/tags/java/">java</a></span></div><div class="content">Data Structure-To implement LinkedListIn contrast, LinkedList data structure is not based on array unlike ArrayList. It consists of nodes, each of nodes is composed ofdata and a pointer which point to the next node (last node’s pointer points to null). It spends much less time than in ArrayList whenwe add elements into that list.
Create nodepublic class Node { private Node node; private Object data; public Node getNode() { return node; } public void setNode(N ...</div></div></div><div class="recent-post-item"><div class="post_cover left_radius"><a href="/2021/03/02/arraylist/" title="ArrayList"> <img class="post_bg" data-lazy-src="https://cdn.jsdelivr.net/gh/jerryc127/CDN@latest/cover/default_bg.png" onerror="this.onerror=null;this.src='/img/404.jpg'" alt="ArrayList"></a></div><div class="recent-post-info"><a class="article-title" href="/2021/03/02/arraylist/" title="ArrayList">ArrayList</a><div class="article-meta-wrap"><span class="article-meta"><span class="article-meta__separator">|</span><i class="fas fa-inbox"></i><a class="article-meta__categories" href="/categories/data-structure/">data structure</a></span><span class="article-meta tags"><span class="article-meta__separator">|</span><i class="fas fa-tag"></i><a class="article-meta__tags" href="/tags/java/">java</a></span></div><div class="content">Data Structure-To implement ArrayListWhen we create an array, we have to know the length of the array we want first. We can create a huge length of array to ensure we have enough vacancies for the data input but it will occupy too much memory whcih means this is not an efficient way. List helps us solve this problem, it has exactly same number of places as the number of datas we want to push in. This blog I will try to implement how the ‘List’ function works.
Initialize an array which can contai ...</div></div></div><div class="recent-post-item"><div class="post_cover right_radius"><a href="/2021/02/28/imageP/" title="Filter(Edition)"> <img class="post_bg" data-lazy-src="https://cdn.jsdelivr.net/gh/jerryc127/CDN@latest/cover/default_bg.png" onerror="this.onerror=null;this.src='/img/404.jpg'" alt="Filter(Edition)"></a></div><div class="recent-post-info"><a class="article-title" href="/2021/02/28/imageP/" title="Filter(Edition)">Filter(Edition)</a><div class="article-meta-wrap"><span class="article-meta"><span class="article-meta__separator">|</span><i class="fas fa-inbox"></i><a class="article-meta__categories" href="/categories/project/">project</a></span><span class="article-meta tags"><span class="article-meta__separator">|</span><i class="fas fa-tag"></i><a class="article-meta__tags" href="/tags/C/">C</a></span></div><div class="content">Image processingConceptAs all the visions on the screen shows are all constructed by pixels, which is huge anount of ‘1’ and ‘0’. Then computer scientists and engineers use different organizations of ‘1’ and ‘0’ to represent different colors. As we know from arts, all of colors can be expressed by combinations of different degrees of red, green and blue colors. We have lots of seted frames to help us express colors(e.g RGB color(int) , each part is represented by 8 bits which means we can set ea ...</div></div></div><nav id="pagination"><div class="pagination"><span class="page-number current">1</span></div></nav></div><div class="aside-content" id="aside-content"><div class="card-widget card-info"><div class="card-info-avatar is-center"><img class="avatar-img" data-lazy-src="/img/avatar.png" onerror="this.onerror=null;this.src='/img/friend_404.gif'" alt="avatar"/><div class="author-info__name">Xuanyu Lu</div><div class="author-info__description"></div></div><div class="card-info-data"><div class="card-info-data-item is-center"><a href="/archives/"><div class="headline">Articles</div><div class="length-num">8</div></a></div><div class="card-info-data-item is-center"><a href="/tags/"><div class="headline">Tags</div><div class="length-num">3</div></a></div><div class="card-info-data-item is-center"><a href="/categories/"><div class="headline">Categories</div><div class="length-num">3</div></a></div></div><a class="button--animated" id="card-info-btn" target="_blank" rel="noopener" href="https://github.com/William-Lu-stack"><i class="fab fa-github"></i><span>Follow Me</span></a><div class="card-info-social-icons is-center"><a class="social-icon" href="https://github.com/William-Lu-stack" target="_blank" title="Github"><i class="fab fa-github"></i></a><a class="social-icon" href="mailto:luxuanyuwilliam@gmail.com" target="_blank" title="Email"><i class="fas fa-envelope"></i></a></div></div><div class="card-widget card-announcement"><div class="item-headline"><i class="fas fa-bullhorn card-announcement-animation"></i><span>Announcement</span></div><div class="announcement_content">This is my Blog</div></div><div class="sticky_layout"><div class="card-widget card-categories"><div class="item-headline">
<i class="fas fa-folder-open"></i>
<span>Categories</span>
</div>
<ul class="card-category-list" id="aside-cat-list">
<li class="card-category-list-item "><a class="card-category-list-link" href="/categories/data-structure/"><span class="card-category-list-name">data structure</span><span class="card-category-list-count">3</span></a></li><li class="card-category-list-item "><a class="card-category-list-link" href="/categories/game/"><span class="card-category-list-name">game</span><span class="card-category-list-count">1</span></a></li><li class="card-category-list-item "><a class="card-category-list-link" href="/categories/project/"><span class="card-category-list-name">project</span><span class="card-category-list-count">4</span></a></li>
</ul></div><div class="card-widget card-tags"><div class="item-headline"><i class="fas fa-tags"></i><span>Tags</span></div><div class="card-tag-cloud"><a href="/tags/C/" style="font-size: 1.3em; color: #99a1ac">C</a> <a href="/tags/C/" style="font-size: 1.1em; color: #999">C++</a> <a href="/tags/java/" style="font-size: 1.5em; color: #99a9bf">java</a></div></div><div class="card-widget card-webinfo"><div class="item-headline"><i class="fas fa-chart-line"></i><span>Info</span></div><div class="webinfo"><div class="webinfo-item"><div class="item-name">Article :</div><div class="item-count">8</div></div><div class="webinfo-item"><div class="item-name">Total Count :</div><div class="item-count">11.4k</div></div><div class="webinfo-item"><div class="item-name">UV :</div><div class="item-count" id="busuanzi_value_site_uv"></div></div><div class="webinfo-item"><div class="item-name">PV :</div><div class="item-count" id="busuanzi_value_site_pv"></div></div></div></div></div></div></main><footer id="footer" style="background-image: url('https://th.bing.com/th/id/Rf3de8271e824c061d7e75a9f7b9b5a38?rik=H2LvctSPWR65ng&riu=http%3a%2f%2fpicture.ik123.com%2fuploads%2fallimg%2f171127%2f12-1G12G43525.jpg&ehk=LAiq3o2jucAlIuB6OH2d0Yyj9kFCgbhQ3DSwcYuLXos%3d&risl=&pid=ImgRaw')"><div id="footer-wrap"><div class="copyright">©2019 - 2021 By Xuanyu Lu</div><div class="framework-info"><span>Framework </span><a target="_blank" rel="noopener" href="https://hexo.io">Hexo</a><span class="footer-separator">|</span><span>Theme </span><a target="_blank" rel="noopener" href="https://github.com/jerryc127/hexo-theme-butterfly">Butterfly</a></div><div class="footer_custom_text">Hi,I'm Lu, welcome to my <a href="https://William-Lu-stack.github.io/">blog</a>!</div></div></footer></div><div id="rightside"><div id="rightside-config-hide"><button id="font-plus" type="button" title="Increase font size"><i class="fas fa-plus"></i></button><button id="font-minus" type="button" title="Decrease font size"><i class="fas fa-minus"></i></button><button id="translateLink" type="button" title="Switch Between Traditional Chinese And Simplified Chinese">2</button><button id="darkmode" type="button" title="Switch Between Light And Dark Mode"><i class="fas fa-adjust"></i></button><button id="hide-aside-btn" type="button" title="Toggle between single-column and double-column"><i class="fas fa-arrows-alt-h"></i></button></div><div id="rightside-config-show"><button id="rightside_config" type="button" title="Setting"><i class="fas fa-cog fa-spin"></i></button><button id="chat_btn" type="button" title="rightside.chat_btn"><i class="fas fa-sms"></i></button><button id="go-up" type="button" title="Back To Top"><i class="fas fa-arrow-up"></i></button></div></div><div><script src="/js/utils.js"></script><script src="/js/main.js"></script><script src="/js/tw_cn.js"></script><script src="https://cdn.jsdelivr.net/npm/instant.page/instantpage.min.js" type="module"></script><script src="https://cdn.jsdelivr.net/npm/vanilla-lazyload/dist/lazyload.iife.min.js"></script><script src="https://cdn.jsdelivr.net/npm/node-snackbar/dist/snackbar.min.js"></script><script>var preloader = {
endLoading: () => {
document.body.style.overflow = 'auto';
document.getElementById('loading-box').classList.add("loaded")
},
initLoading: () => {
document.body.style.overflow = '';
document.getElementById('loading-box').classList.remove("loaded")
}
}
window.addEventListener('load',preloader.endLoading())</script><div class="js-pjax"><script>function subtitleType () {
if (true) {
var typed = new Typed("#subtitle", {
strings: "Cats hide their paws.,patient with passion".split(","),
startDelay: 300,
typeSpeed: 150,
loop: true,
backSpeed: 50
})
} else {
document.getElementById("subtitle").innerHTML = 'Cats hide their paws.'
}
}
if (true) {
if (typeof Typed === 'function') {
subtitleType()
} else {
getScript('https://cdn.jsdelivr.net/npm/typed.js/lib/typed.min.js').then(subtitleType)
}
} else {
subtitleType()
}</script><script>if (document.getElementsByClassName('mermaid').length) {
if (window.mermaidJsLoad) mermaid.init()
else {
getScript('https://cdn.jsdelivr.net/npm/mermaid/dist/mermaid.min.js').then(() => {
window.mermaidJsLoad = true
mermaid.initialize({
theme: 'default',
})
false && mermaid.init()
})
}
}</script></div><canvas class="fireworks" mobile="false"></canvas><script src="https://cdn.jsdelivr.net/npm/butterfly-extsrc@1/dist/fireworks.min.js"></script><script defer="defer" id="ribbon" src="https://cdn.jsdelivr.net/npm/butterfly-extsrc@1/dist/canvas-ribbon.min.js" size="150" alpha="0.6" zIndex="-1" mobile="false" data-click="false"></script><script src="https://cdn.jsdelivr.net/npm/butterfly-extsrc@1/dist/activate-power-mode.min.js"></script><script>POWERMODE.colorful = true;
POWERMODE.shake = true;
POWERMODE.mobile = false;
document.body.addEventListener('input', POWERMODE);
</script><script async data-pjax src="//busuanzi.ibruce.info/busuanzi/2.3/busuanzi.pure.mini.js"></script></div></body></html>