-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathindex.html
876 lines (549 loc) · 53.5 KB
/
index.html
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
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<!-- Global site tag (gtag.js) - Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-169911533-1"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'UA-169911533-1');
</script>
<title>空城盼故人</title>
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<meta name="google-site-verification" content="NOVpqBhVVjZHOamocUf3Grijt7xAK_Engoe_FNrxE3Q" />
<meta name="baidu-site-verification" content="HBrapLOndy" />
<meta name="keywords" content="许嵩老公" />
<meta name="description" content="深吸一口梦,吹个气球存起来">
<meta property="og:type" content="website">
<meta property="og:title" content="空城盼故人">
<meta property="og:url" content="https://xiaoyan94.github.io/index.html">
<meta property="og:site_name" content="空城盼故人">
<meta property="og:description" content="深吸一口梦,吹个气球存起来">
<meta property="og:locale" content="zh_CN">
<meta property="article:author" content="许嵩老公">
<meta property="article:tag" content="许嵩老公">
<meta name="twitter:card" content="summary">
<link rel="alternate" href="/atom.xml" title="空城盼故人" type="application/atom+xml">
<link rel="icon" href="https://q1.qlogo.cn/g?b=qq&nk=979727728&s=640">
<link href="//fonts.googleapis.com/css?family=Source+Code+Pro" rel="stylesheet" type="text/css">
<link rel="stylesheet" href="css/style.css">
<link rel="stylesheet" href="css/highlight.css">
<meta name="generator" content="Hexo 4.2.1"></head>
<body>
<div id="fullpage" class="mobile-nav-right">
<div class="fixed"></div>
<div id="wrapper">
<header id="header">
<div id="nav-toggle" class="nav-toggle"></div>
<div class="head-box global-width">
<nav class="nav-box nav-right">
<a class="nav-item" href="index.html" title
>首页</a>
<a class="nav-item" href="/archives" title
>归档</a>
<a class="nav-item" href="/quick-notes" title
>小抄</a>
<a class="nav-item" href="/about" title
>关于</a>
</nav>
</div>
</header>
<div id="middlecontent" title class="global-width sidebar-right">
<section id="main">
<article id="post-使用Node-js后台读取串口数据并通过WebSocket实时显示在网页上" class="article global-container article-type-post" itemscope itemprop="blogPost">
<header class="article-header">
<h1 itemprop="name">
<a class="article-title" href="2023/02/13/%E4%BD%BF%E7%94%A8Node-js%E5%90%8E%E5%8F%B0%E8%AF%BB%E5%8F%96%E4%B8%B2%E5%8F%A3%E6%95%B0%E6%8D%AE%E5%B9%B6%E9%80%9A%E8%BF%87WebSocket%E5%AE%9E%E6%97%B6%E6%98%BE%E7%A4%BA%E5%9C%A8%E7%BD%91%E9%A1%B5%E4%B8%8A/">使用Node.js后台读取串口数据并通过WebSocket实时显示在网页上</a>
</h1>
</header>
<div class="article-meta">
<a href="2023/02/13/%E4%BD%BF%E7%94%A8Node-js%E5%90%8E%E5%8F%B0%E8%AF%BB%E5%8F%96%E4%B8%B2%E5%8F%A3%E6%95%B0%E6%8D%AE%E5%B9%B6%E9%80%9A%E8%BF%87WebSocket%E5%AE%9E%E6%97%B6%E6%98%BE%E7%A4%BA%E5%9C%A8%E7%BD%91%E9%A1%B5%E4%B8%8A/" class="article-date">
<time datetime="2023-02-13T07:27:39.000Z" itemprop="datePublished">2023-02-13</time>
</a>
<ul class="article-tag-list" itemprop="keywords"><li class="article-tag-list-item"><a class="article-tag-list-link" href="tags/Node-js/" rel="tag">Node.js</a></li><li class="article-tag-list-item"><a class="article-tag-list-link" href="tags/Serial-Port/" rel="tag">Serial Port</a></li><li class="article-tag-list-item"><a class="article-tag-list-link" href="tags/WebSocket/" rel="tag">WebSocket</a></li></ul>
</div>
<div class="article-inner">
<div class="article-content article-content-cloud" itemprop="articleBody">
<p>记录一下使用 Node.js 后台读取串口数据并通过 WebSocket 实时显示在网页上的方法,可以使用以下步骤:</p>
<ol>
<li>使用第三方库 serialport 读取串口数据</li>
<li>安装 WebSocket 服务器,例如 ws 库</li>
<li>创建 WebSocket 服务器,并监听客户端连接</li>
<li>在每次读取到串口数据时,通过 WebSocket 发送数据到客户端</li>
<li>在客户端,使用 JavaScript 更新 HTML 元素的属性值</li>
</ol>
<p>以下是一个简单的示例:</p>
<div class="highlight-box"autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false" contenteditable="false"data-rel="JAVASCRIPT"><figure class="iseeu highlight /javascript"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br><span class="line">29</span><br><span class="line">30</span><br><span class="line">31</span><br></pre></td><td class="code"><pre><span class="line"><span class="comment">// Node.js 后台代码</span></span><br><span class="line"><span class="keyword">const</span> SerialPort = <span class="built_in">require</span>(<span class="string">'serialport'</span>);</span><br><span class="line"><span class="keyword">const</span> ReadLine = <span class="built_in">require</span>(<span class="string">'@serialport/parser-readline'</span>);</span><br><span class="line"><span class="keyword">const</span> WebSocket = <span class="built_in">require</span>(<span class="string">'ws'</span>);</span><br><span class="line"></span><br><span class="line"><span class="comment">// 创建一个串口解析器</span></span><br><span class="line"><span class="keyword">const</span> port = <span class="keyword">new</span> SerialPort(<span class="string">'COM3'</span>, { <span class="attr">baudRate</span>: <span class="number">9600</span> });</span><br><span class="line"><span class="keyword">const</span> parser = port.pipe(<span class="keyword">new</span> ReadLine({ <span class="attr">delimiter</span>: <span class="string">'\r\n'</span> }));</span><br><span class="line"></span><br><span class="line"><span class="comment">// 创建 WebSocket 服务器</span></span><br><span class="line"><span class="keyword">const</span> server = <span class="keyword">new</span> WebSocket.Server({ <span class="attr">port</span>: <span class="number">8080</span> });</span><br><span class="line"></span><br><span class="line"><span class="comment">// 监听客户端连接</span></span><br><span class="line">server.on(<span class="string">'connection'</span>, (socket) => {</span><br><span class="line"> <span class="comment">// 在读取到串口数据时,发送数据到客户端</span></span><br><span class="line"> parser.on(<span class="string">'data'</span>, (data) => {</span><br><span class="line"> <span class="comment">// 解析读取到的数据</span></span><br><span class="line"> <span class="keyword">const</span> target = data.split(<span class="string">' '</span>)[<span class="number">2</span>];</span><br><span class="line"> <span class="comment">// 通过 WebSocket 发送数据到客户端</span></span><br><span class="line"> socket.send(target);</span><br><span class="line"> });</span><br><span class="line">});</span><br><span class="line"></span><br><span class="line"><span class="comment">// 客户端 JavaScript 代码</span></span><br><span class="line"><span class="keyword">const</span> socket = <span class="keyword">new</span> WebSocket(<span class="string">'ws://localhost:8080'</span>);</span><br><span class="line"></span><br><span class="line"><span class="comment">// 监听 WebSocket 接收到的数据</span></span><br><span class="line">socket.onmessage = <span class="function">(<span class="params">event</span>) =></span> {</span><br><span class="line"> <span class="comment">// 更新 HTML 元素的属性值</span></span><br><span class="line"> <span class="built_in">document</span>.getElementById(<span class="string">'test'</span>).value = event.data;</span><br><span class="line">};</span><br></pre></td></tr></table></figure></div>
<p>注意:在这个示例代码中,我们假设“数据格式为文本字符,形如0 00 xxx 00,获取其中的xxx”</p>
</div>
</div>
</article>
<article id="post-作为用户,修改Cookie有效期,延长Cookie期限" class="article global-container article-type-post" itemscope itemprop="blogPost">
<header class="article-header">
<h1 itemprop="name">
<a class="article-title" href="2023/02/09/%E4%BD%9C%E4%B8%BA%E7%94%A8%E6%88%B7%EF%BC%8C%E4%BF%AE%E6%94%B9Cookie%E6%9C%89%E6%95%88%E6%9C%9F%EF%BC%8C%E5%BB%B6%E9%95%BFCookie%E6%9C%9F%E9%99%90/">作为用户,修改Cookie有效期,延长Cookie期限</a>
</h1>
</header>
<div class="article-meta">
<a href="2023/02/09/%E4%BD%9C%E4%B8%BA%E7%94%A8%E6%88%B7%EF%BC%8C%E4%BF%AE%E6%94%B9Cookie%E6%9C%89%E6%95%88%E6%9C%9F%EF%BC%8C%E5%BB%B6%E9%95%BFCookie%E6%9C%9F%E9%99%90/" class="article-date">
<time datetime="2023-02-09T03:21:12.000Z" itemprop="datePublished">2023-02-09</time>
</a>
<ul class="article-tag-list" itemprop="keywords"><li class="article-tag-list-item"><a class="article-tag-list-link" href="tags/Cookie/" rel="tag">Cookie</a></li><li class="article-tag-list-item"><a class="article-tag-list-link" href="tags/JavaScript/" rel="tag">JavaScript</a></li></ul>
</div>
<div class="article-inner">
<div class="article-content article-content-cloud" itemprop="articleBody">
<h2 id="浏览器中手动修改cookie的有效期"><a href="#浏览器中手动修改cookie的有效期" class="headerlink" title="浏览器中手动修改cookie的有效期"></a>浏览器中手动修改cookie的有效期</h2><p>网站可以使用Cookie验证身份,从而可以实现关闭游客访问。</p>
<p>作为用户,若网站关闭了游客访问,且Cookie到期以后,就无法继续访问该网站。</p>
<p>可以在浏览器客户端手动设置Cookie的过期时间,从而延长登录有效期。</p>
<p>以Chrome浏览器为例,按<code>F12</code>打开开发者工具,找到网站Cookie手动修改过期时间。</p>
<p><img src="/2023/02/09/%E4%BD%9C%E4%B8%BA%E7%94%A8%E6%88%B7%EF%BC%8C%E4%BF%AE%E6%94%B9Cookie%E6%9C%89%E6%95%88%E6%9C%9F%EF%BC%8C%E5%BB%B6%E9%95%BFCookie%E6%9C%9F%E9%99%90/2023-02-09-12-19-19.png" alt="按`F12`打开开发者工具,找到网站Cookie手动修改过期时间。"></p>
<h2 id="相关知识之会话cookie"><a href="#相关知识之会话cookie" class="headerlink" title="相关知识之会话cookie"></a>相关知识之会话cookie</h2>
<p class="article-more-link">
<a href="2023/02/09/%E4%BD%9C%E4%B8%BA%E7%94%A8%E6%88%B7%EF%BC%8C%E4%BF%AE%E6%94%B9Cookie%E6%9C%89%E6%95%88%E6%9C%9F%EF%BC%8C%E5%BB%B6%E9%95%BFCookie%E6%9C%9F%E9%99%90/#more">阅读全文</a>
</p>
</div>
</div>
</article>
<article id="post-终端命令代理" class="article global-container article-type-post" itemscope itemprop="blogPost">
<header class="article-header">
<h1 itemprop="name">
<a class="article-title" href="2023/02/08/%E7%BB%88%E7%AB%AF%E5%91%BD%E4%BB%A4%E4%BB%A3%E7%90%86/">终端命令网络设置</a>
</h1>
</header>
<div class="article-meta">
<a href="2023/02/08/%E7%BB%88%E7%AB%AF%E5%91%BD%E4%BB%A4%E4%BB%A3%E7%90%86/" class="article-date">
<time datetime="2023-02-08T06:17:51.000Z" itemprop="datePublished">2023-02-08</time>
</a>
<ul class="article-tag-list" itemprop="keywords"><li class="article-tag-list-item"><a class="article-tag-list-link" href="tags/Git-Bash/" rel="tag">Git Bash</a></li><li class="article-tag-list-item"><a class="article-tag-list-link" href="tags/%E7%BB%88%E7%AB%AF/" rel="tag">终端</a></li></ul>
</div>
<div class="article-inner">
<div class="article-content article-content-cloud" itemprop="articleBody">
<h2 id="终端设置代理"><a href="#终端设置代理" class="headerlink" title="终端设置代理"></a>终端设置代理</h2><ol>
<li><p>Linux/macOS bash/Windows Git Bash终端</p>
<ol>
<li>使用 <code>export https_proxy=http://127.0.0.1:7890;export http_proxy=http://127.0.0.1:7890;export all_proxy=socks5://127.0.0.1:7890</code> 设置环境变量</li>
<li>使用 <code>curl -verbose ip.gs</code> 命令进行检查是否设置成功。</li>
</ol>
<figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br></pre></td><td class="code"><pre><span class="line"><span class="meta">$</span><span class="bash"> <span class="built_in">export</span> https_proxy=http://127.0.0.1:7890;<span class="built_in">export</span> http_proxy=http://127.0.0.1:7890;<span class="built_in">export</span> all_proxy=socks5://127.0.0.1:7890</span></span><br><span class="line"><span class="meta">$</span><span class="bash"> curl -verbose ip.gs</span></span><br><span class="line">* Uses proxy env variable http_proxy == 'http://127.0.0.1:7890'</span><br><span class="line">* Trying 127.0.0.1:7890...</span><br><span class="line">* Connected to 127.0.0.1 (127.0.0.1) port 7890 (#0)</span><br><span class="line"><span class="meta">></span><span class="bash"> GET http://ip.gs/ HTTP/1.1</span></span><br><span class="line"><span class="meta">></span><span class="bash"> Host: ip.gs</span></span><br><span class="line"><span class="meta">></span><span class="bash"> User-Agent: curl/7.84.0</span></span><br><span class="line"><span class="meta">></span><span class="bash"> Accept: */*</span></span><br><span class="line"><span class="meta">></span><span class="bash"> Referer: rbose</span></span><br><span class="line"><span class="meta">></span><span class="bash"> Proxy-Connection: Keep-Alive</span></span><br><span class="line"><span class="meta">></span></span><br><span class="line">* Mark bundle as not supporting multiuse</span><br><span class="line">< HTTP/1.1 200 OK</span><br><span class="line">< Transfer-Encoding: chunked</span><br><span class="line">< Cache-Control: no-cache</span><br><span class="line">< Connection: keep-alive</span><br><span class="line">< Content-Type: text/plain</span><br><span class="line">< Date: Wed, 08 Feb 2023 06:01:21 GMT</span><br><span class="line">< Keep-Alive: timeout=4</span><br><span class="line">< Proxy-Connection: keep-alive</span><br><span class="line">< Server: nginx</span><br><span class="line">< Vary: Accept-Encoding</span><br><span class="line"><</span><br><span class="line">2607:f130:0:手动马赛克::d891:eccc</span><br><span class="line">* Connection #0 to host 127.0.0.1 left intact</span><br></pre></td></tr></table></figure>
</li>
<li><p>Windows CMD终端</p>
<ol>
<li>使用 <code>set http_proxy=http://127.0.0.1:7890 & set https_proxy=http://127.0.0.1:7890</code> 设置环境变量</li>
<li>使用 <code>curl -vvvk https://google.com</code> 命令进行检查是否设置成功。</li></ol></li></ol>
<p class="article-more-link">
<a href="2023/02/08/%E7%BB%88%E7%AB%AF%E5%91%BD%E4%BB%A4%E4%BB%A3%E7%90%86/#more">阅读全文</a>
</p>
</div>
</div>
</article>
<article id="post-Windows系统C盘清理工具FreeMove及文件占用进程查看软件LockHunter配合使用" class="article global-container article-type-post" itemscope itemprop="blogPost">
<header class="article-header">
<h1 itemprop="name">
<a class="article-title" href="2023/01/18/Windows%E7%B3%BB%E7%BB%9FC%E7%9B%98%E6%B8%85%E7%90%86%E5%B7%A5%E5%85%B7FreeMove%E5%8F%8A%E6%96%87%E4%BB%B6%E5%8D%A0%E7%94%A8%E8%BF%9B%E7%A8%8B%E6%9F%A5%E7%9C%8B%E8%BD%AF%E4%BB%B6LockHunter%E9%85%8D%E5%90%88%E4%BD%BF%E7%94%A8/">Windows系统C盘清理工具FreeMove及文件占用进程查看软件LockHunter配合使用</a>
</h1>
</header>
<div class="article-meta">
<a href="2023/01/18/Windows%E7%B3%BB%E7%BB%9FC%E7%9B%98%E6%B8%85%E7%90%86%E5%B7%A5%E5%85%B7FreeMove%E5%8F%8A%E6%96%87%E4%BB%B6%E5%8D%A0%E7%94%A8%E8%BF%9B%E7%A8%8B%E6%9F%A5%E7%9C%8B%E8%BD%AF%E4%BB%B6LockHunter%E9%85%8D%E5%90%88%E4%BD%BF%E7%94%A8/" class="article-date">
<time datetime="2023-01-18T01:32:29.000Z" itemprop="datePublished">2023-01-18</time>
</a>
<ul class="article-tag-list" itemprop="keywords"><li class="article-tag-list-item"><a class="article-tag-list-link" href="tags/%E7%94%B5%E8%84%91/" rel="tag">电脑</a></li></ul>
</div>
<div class="article-inner">
<div class="article-content article-content-cloud" itemprop="articleBody">
<p>三款软件、按顺序使用即可,无损移动C盘文件至其他盘,不影响使用。</p>
<ol>
<li><a href="http://www.uderzo.it/main_products/space_sniffer/download.html" target="_blank" rel="noopener">SpaceSniffer 磁盘文件大小可视化分析,找到大文件夹</a></li>
<li><a href="https://lockhunter.com/download.htm" target="_blank" rel="noopener">LockHunter 解除文件进程占用</a></li>
<li><a href="https://github.com/imDema/FreeMove/releases" target="_blank" rel="noopener">FreeMove 建立软链接的方式移动C盘大文件夹至其他盘</a></li>
</ol>
<p><img src="/2023/01/18/Windows%E7%B3%BB%E7%BB%9FC%E7%9B%98%E6%B8%85%E7%90%86%E5%B7%A5%E5%85%B7FreeMove%E5%8F%8A%E6%96%87%E4%BB%B6%E5%8D%A0%E7%94%A8%E8%BF%9B%E7%A8%8B%E6%9F%A5%E7%9C%8B%E8%BD%AF%E4%BB%B6LockHunter%E9%85%8D%E5%90%88%E4%BD%BF%E7%94%A8/2023-01-18-11-02-47.png" alt="SpaceSniffer软件截图"></p>
<p class="article-more-link">
<a href="2023/01/18/Windows%E7%B3%BB%E7%BB%9FC%E7%9B%98%E6%B8%85%E7%90%86%E5%B7%A5%E5%85%B7FreeMove%E5%8F%8A%E6%96%87%E4%BB%B6%E5%8D%A0%E7%94%A8%E8%BF%9B%E7%A8%8B%E6%9F%A5%E7%9C%8B%E8%BD%AF%E4%BB%B6LockHunter%E9%85%8D%E5%90%88%E4%BD%BF%E7%94%A8/#more">阅读全文</a>
</p>
</div>
</div>
</article>
<article id="post-AutoReconnectWiFi" class="article global-container article-type-post" itemscope itemprop="blogPost">
<header class="article-header">
<h1 itemprop="name">
<a class="article-title" href="2023/01/14/AutoReconnectWiFi/">检测断网自动重连WiFi脚本</a>
</h1>
</header>
<div class="article-meta">
<a href="2023/01/14/AutoReconnectWiFi/" class="article-date">
<time datetime="2023-01-14T00:46:32.000Z" itemprop="datePublished">2023-01-14</time>
</a>
<ul class="article-tag-list" itemprop="keywords"><li class="article-tag-list-item"><a class="article-tag-list-link" href="tags/%E8%84%9A%E6%9C%AC/" rel="tag">脚本</a></li></ul>
</div>
<div class="article-inner">
<div class="article-content article-content-cloud" itemprop="articleBody">
<p>最近公司网络出毛病老是隔段时间就自动断开连接,写了这个批处理脚本可以自动检测网络状态、断网自动重连WiFi,并记录断网重连日志。</p>
<p class="article-more-link">
<a href="2023/01/14/AutoReconnectWiFi/#more">阅读全文</a>
</p>
</div>
</div>
</article>
<article id="post-JavaScript使用-Web-Serial-API获取串行设备端口数据-地磅串口数据" class="article global-container article-type-post" itemscope itemprop="blogPost">
<header class="article-header">
<h1 itemprop="name">
<a class="article-title" href="2022/11/18/JavaScript%E4%BD%BF%E7%94%A8-Web-Serial-API%E8%8E%B7%E5%8F%96%E4%B8%B2%E8%A1%8C%E8%AE%BE%E5%A4%87%E7%AB%AF%E5%8F%A3%E6%95%B0%E6%8D%AE-%E5%9C%B0%E7%A3%85%E4%B8%B2%E5%8F%A3%E6%95%B0%E6%8D%AE/">JavaScript使用 Web Serial API获取串行设备端口数据(地磅串口数据)</a>
</h1>
</header>
<div class="article-meta">
<a href="2022/11/18/JavaScript%E4%BD%BF%E7%94%A8-Web-Serial-API%E8%8E%B7%E5%8F%96%E4%B8%B2%E8%A1%8C%E8%AE%BE%E5%A4%87%E7%AB%AF%E5%8F%A3%E6%95%B0%E6%8D%AE-%E5%9C%B0%E7%A3%85%E4%B8%B2%E5%8F%A3%E6%95%B0%E6%8D%AE/" class="article-date">
<time datetime="2022-11-18T13:10:15.000Z" itemprop="datePublished">2022-11-18</time>
</a>
<ul class="article-tag-list" itemprop="keywords"><li class="article-tag-list-item"><a class="article-tag-list-link" href="tags/JavaScript/" rel="tag">JavaScript</a></li></ul>
</div>
<div class="article-inner">
<div class="article-content article-content-cloud" itemprop="articleBody">
<ul>
<li><a href="#%E5%89%8D%E6%9C%9F%E5%87%86%E5%A4%87">前期准备</a></li>
<li><a href="#%E8%B5%84%E6%BA%90%E9%93%BE%E6%8E%A5">资源链接</a></li>
<li><a href="#%E4%BB%A3%E7%A0%81%E7%A4%BA%E4%BE%8B">代码示例</a><ul>
<li><a href="#%E6%A3%80%E6%9F%A5%E6%B5%8F%E8%A7%88%E5%99%A8%E6%98%AF%E5%90%A6%E6%94%AF%E6%8C%81">检查浏览器是否支持</a></li>
<li><a href="#%E6%89%93%E5%BC%80%E4%B8%B2%E8%A1%8C%E7%AB%AF%E5%8F%A3">打开串行端口</a></li>
</ul>
</li>
<li><a href="#%E5%9C%B0%E7%A3%85%E8%AF%BB%E6%95%B0%E4%BB%A3%E7%A0%81%E7%A4%BA%E4%BE%8B">地磅读数代码示例</a></li>
<li><a href="#chrome%E6%B5%8F%E8%A7%88%E5%99%A8%E9%85%8D%E7%BD%AE%E5%9C%A8http%E5%8D%8F%E8%AE%AE%E4%BD%BF%E7%94%A8web%E4%B8%B2%E8%A1%8Capi">chrome浏览器配置在http协议使用web串行api</a></li>
</ul>
<p class="article-more-link">
<a href="2022/11/18/JavaScript%E4%BD%BF%E7%94%A8-Web-Serial-API%E8%8E%B7%E5%8F%96%E4%B8%B2%E8%A1%8C%E8%AE%BE%E5%A4%87%E7%AB%AF%E5%8F%A3%E6%95%B0%E6%8D%AE-%E5%9C%B0%E7%A3%85%E4%B8%B2%E5%8F%A3%E6%95%B0%E6%8D%AE/#more">阅读全文</a>
</p>
</div>
</div>
</article>
<article id="post-JavaScript之函数" class="article global-container article-type-post" itemscope itemprop="blogPost">
<header class="article-header">
<h1 itemprop="name">
<a class="article-title" href="2022/09/07/JavaScript%E4%B9%8B%E5%87%BD%E6%95%B0/">JavaScript 之函数</a>
</h1>
</header>
<div class="article-meta">
<a href="2022/09/07/JavaScript%E4%B9%8B%E5%87%BD%E6%95%B0/" class="article-date">
<time datetime="2022-09-07T15:20:16.000Z" itemprop="datePublished">2022-09-07</time>
</a>
<ul class="article-tag-list" itemprop="keywords"><li class="article-tag-list-item"><a class="article-tag-list-link" href="tags/JavaScript/" rel="tag">JavaScript</a></li></ul>
</div>
<div class="article-inner">
<div class="article-content article-content-cloud" itemprop="articleBody">
<h2 id="参数传递"><a href="#参数传递" class="headerlink" title="参数传递"></a>参数传递</h2><p>JavaScript 在传递参数时,其实是一个数组,其实<strong>所有的参数都会被装载到函数内部一个叫作 <code>arguments</code> 的数组里面</strong>。</p>
<p>代码示例:</p>
<figure class="highlight html"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br></pre></td><td class="code"><pre><span class="line"><span class="tag"><<span class="name">html</span>></span></span><br><span class="line"> <span class="tag"><<span class="name">body</span>></span></span><br><span class="line"> <span class="tag"><<span class="name">script</span>></span></span><br><span class="line"><span class="actionscript"> <span class="comment">// window.alert('Hello World')</span></span></span><br><span class="line"><span class="actionscript"> <span class="function"><span class="keyword">function</span> <span class="title">add</span><span class="params">()</span> </span>{</span></span><br><span class="line"><span class="javascript"> <span class="keyword">if</span> (<span class="built_in">arguments</span>.length > <span class="number">0</span>) {</span></span><br><span class="line"><span class="javascript"> <span class="built_in">console</span>.log(<span class="built_in">arguments</span>.length);</span></span><br><span class="line"><span class="actionscript"> <span class="comment">// alert(arguments[0])</span></span></span><br><span class="line"><span class="actionscript"> <span class="keyword">var</span> sum = <span class="number">0</span>;</span></span><br><span class="line"><span class="actionscript"> <span class="comment">// arguments.forEach(element => {</span></span></span><br><span class="line"><span class="actionscript"> <span class="comment">// sum+=element;</span></span></span><br><span class="line"><span class="actionscript"> <span class="comment">// });</span></span></span><br><span class="line"><span class="javascript"> <span class="keyword">for</span> (<span class="keyword">let</span> index = <span class="number">0</span>; index < <span class="built_in">arguments</span>.length; index++) {</span></span><br><span class="line"><span class="javascript"> <span class="keyword">const</span> element = <span class="built_in">arguments</span>[index];</span></span><br><span class="line"><span class="actionscript"> <span class="comment">// console.log(element);</span></span></span><br><span class="line"> sum += element;</span><br><span class="line"> }</span><br><span class="line"><span class="javascript"> <span class="built_in">console</span>.log(sum);</span></span><br><span class="line"><span class="actionscript"> } <span class="keyword">else</span> {</span></span><br><span class="line"><span class="actionscript"> alert(<span class="string">"参数为空"</span>);</span></span><br><span class="line"> }</span><br><span class="line"> }</span><br><span class="line"> add();</span><br><span class="line"><span class="actionscript"> <span class="comment">// var a = [1, 2];</span></span></span><br><span class="line"> add(1, 2, 3, 4, 5);</span><br><span class="line"> <span class="tag"></<span class="name">script</span>></span></span><br><span class="line"> <span class="tag"></<span class="name">body</span>></span></span><br><span class="line"><span class="tag"></<span class="name">html</span>></span></span><br></pre></td></tr></table></figure>
<p>如上所示,即使在定义函数 <code>add</code> 时,没有声明参数,在调用时传入任意参数都是会被装载到 <code>arguments</code> 数组的。</p>
<p>只是需要注意的是,只能使用 <code>for</code> 循环遍历 <code>arguments</code> ,不能在其上使用 <code>forEach</code> 遍历(会报错,不存在 <code>forEach</code> )。</p>
<h2 id="闭包"><a href="#闭包" class="headerlink" title="闭包"></a>闭包</h2>
<p class="article-more-link">
<a href="2022/09/07/JavaScript%E4%B9%8B%E5%87%BD%E6%95%B0/#more">阅读全文</a>
</p>
</div>
</div>
</article>
<article id="post-NET-Data-Parallelism-Task-Parallel-Library" class="article global-container article-type-post" itemscope itemprop="blogPost">
<header class="article-header">
<h1 itemprop="name">
<a class="article-title" href="2022/09/01/NET-Data-Parallelism-Task-Parallel-Library/">.NET 数据并行性(任务并行库) Data Parallelism (Task Parallel Library)</a>
</h1>
</header>
<div class="article-meta">
<a href="2022/09/01/NET-Data-Parallelism-Task-Parallel-Library/" class="article-date">
<time datetime="2022-09-01T15:31:10.000Z" itemprop="datePublished">2022-09-01</time>
</a>
<ul class="article-tag-list" itemprop="keywords"><li class="article-tag-list-item"><a class="article-tag-list-link" href="tags/NET/" rel="tag">.NET</a></li><li class="article-tag-list-item"><a class="article-tag-list-link" href="tags/%E5%B9%B6%E8%A1%8C%E7%BC%96%E7%A8%8B/" rel="tag">并行编程</a></li></ul>
</div>
<div class="article-inner">
<div class="article-content article-content-cloud" itemprop="articleBody">
<h2 id="Data-Parallelism-数据并行性"><a href="#Data-Parallelism-数据并行性" class="headerlink" title="Data Parallelism (数据并行性)"></a>Data Parallelism (数据并行性)</h2><p><em>Data parallelism</em> refers to scenarios in which the same operation is performed concurrently (that is, in parallel) on elements in a source collection or array. In data parallel operations, the source collection is partitioned so that multiple threads can operate on different segments concurrently.</p>
<p>The Task Parallel Library (TPL) supports data parallelism through the <a href="https://docs.microsoft.com/en-us/dotnet/api/system.threading.tasks.parallel" target="_blank" rel="noopener">System.Threading.Tasks.Parallel</a> class. This class provides method-based parallel implementations of <a href="https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/statements/iteration-statements#the-for-statement" target="_blank" rel="noopener">for</a> and <a href="https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/statements/iteration-statements#the-foreach-statement" target="_blank" rel="noopener">foreach</a> loops (<code>For</code> and <code>For Each</code> in Visual Basic). You write the loop logic for a <a href="https://docs.microsoft.com/en-us/dotnet/api/system.threading.tasks.parallel.for" target="_blank" rel="noopener">Parallel.For</a> or <a href="https://docs.microsoft.com/en-us/dotnet/api/system.threading.tasks.parallel.foreach" target="_blank" rel="noopener">Parallel.ForEach</a> loop much as you would write a sequential loop. You do not have to create threads or queue work items. In basic loops, you do not have to take locks. The TPL handles all the low-level work for you. For in-depth information about the use of <a href="https://docs.microsoft.com/en-us/dotnet/api/system.threading.tasks.parallel.for" target="_blank" rel="noopener">Parallel.For</a> and <a href="https://docs.microsoft.com/en-us/dotnet/api/system.threading.tasks.parallel.foreach" target="_blank" rel="noopener">Parallel.ForEach</a>, download the document <a href="https://www.microsoft.com/download/details.aspx?id=19222" target="_blank" rel="noopener">Patterns for Parallel Programming: Understanding and Applying Parallel Patterns with the .NET Framework 4</a>. The following code example shows a simple <code>foreach</code> loop and its parallel equivalent.</p>
<h2 id="Parallel-ForEach"><a href="#Parallel-ForEach" class="headerlink" title="Parallel.ForEach"></a>Parallel.ForEach</h2>
</div>
</div>
</article>
<article id="post-JavaScript获取网页URL地址的查询参数-QueryString-的方法" class="article global-container article-type-post" itemscope itemprop="blogPost">
<header class="article-header">
<h1 itemprop="name">
<a class="article-title" href="2022/08/31/JavaScript%E8%8E%B7%E5%8F%96%E7%BD%91%E9%A1%B5URL%E5%9C%B0%E5%9D%80%E7%9A%84%E6%9F%A5%E8%AF%A2%E5%8F%82%E6%95%B0-QueryString-%E7%9A%84%E6%96%B9%E6%B3%95/">JavaScript获取网页URL地址的查询参数(QueryString)的方法</a>
</h1>
</header>
<div class="article-meta">
<a href="2022/08/31/JavaScript%E8%8E%B7%E5%8F%96%E7%BD%91%E9%A1%B5URL%E5%9C%B0%E5%9D%80%E7%9A%84%E6%9F%A5%E8%AF%A2%E5%8F%82%E6%95%B0-QueryString-%E7%9A%84%E6%96%B9%E6%B3%95/" class="article-date">
<time datetime="2022-08-31T13:27:39.000Z" itemprop="datePublished">2022-08-31</time>
</a>
<ul class="article-tag-list" itemprop="keywords"><li class="article-tag-list-item"><a class="article-tag-list-link" href="tags/JavaScript/" rel="tag">JavaScript</a></li></ul>
</div>
<div class="article-inner">
<div class="article-content article-content-cloud" itemprop="articleBody">
<h2 id="需求:获取-URL-查询参数"><a href="#需求:获取-URL-查询参数" class="headerlink" title="需求:获取 URL 查询参数"></a>需求:获取 URL 查询参数</h2><p>需求详情</p>
<p>请求URL: <code>http://example.com:80/method?id=1&name=xy</code></p>
<p>获取请求参数id、name的值1、xy。</p>
<h2 id="方法一:URLSearchParams"><a href="#方法一:URLSearchParams" class="headerlink" title="方法一:URLSearchParams"></a>方法一:<code>URLSearchParams</code></h2><p>使用 <code>URLSearchParams</code> 对象的 <code>get</code> 方法。参考:</p>
<p class="article-more-link">
<a href="2022/08/31/JavaScript%E8%8E%B7%E5%8F%96%E7%BD%91%E9%A1%B5URL%E5%9C%B0%E5%9D%80%E7%9A%84%E6%9F%A5%E8%AF%A2%E5%8F%82%E6%95%B0-QueryString-%E7%9A%84%E6%96%B9%E6%B3%95/#more">阅读全文</a>
</p>
</div>
</div>
</article>
<article id="post-NET-Framework-连接-Oracle数据库" class="article global-container article-type-post" itemscope itemprop="blogPost">
<header class="article-header">
<h1 itemprop="name">
<a class="article-title" href="2022/08/29/NET-Framework-%E8%BF%9E%E6%8E%A5-Oracle%E6%95%B0%E6%8D%AE%E5%BA%93/">.NET Framework 连接 Oracle数据库:找不到请求的 .Net Framework Data Provider。可能没有安装</a>
</h1>
</header>
<div class="article-meta">
<a href="2022/08/29/NET-Framework-%E8%BF%9E%E6%8E%A5-Oracle%E6%95%B0%E6%8D%AE%E5%BA%93/" class="article-date">
<time datetime="2022-08-29T08:13:41.000Z" itemprop="datePublished">2022-08-29</time>
</a>
</div>
<div class="article-inner">
<div class="article-content article-content-cloud" itemprop="articleBody">
<ul>
<li><a href="#1-%E9%94%99%E8%AF%AF%E4%BF%A1%E6%81%AF">1. 错误信息</a><ul>
<li><a href="#11-%E9%94%99%E8%AF%AF%E8%AF%A6%E6%83%85">1.1. 错误详情</a></li>
</ul>
</li>
<li><a href="#2-%E9%97%AE%E9%A2%98%E5%8E%9F%E5%9B%A0">2. 问题原因</a></li>
<li><a href="#3-%E6%9F%A5%E7%9C%8B%E4%B8%8E%E8%AE%BE%E7%BD%AEoracle_home%E7%8E%AF%E5%A2%83%E5%8F%98%E9%87%8F">3. 查看与设置ORACLE_HOME环境变量</a><ul>
<li><a href="#31-windows%E4%B8%8B%E6%9F%A5%E7%9C%8B%E4%B8%8E%E8%AE%BE%E7%BD%AE%E7%8E%AF%E5%A2%83%E5%8F%98%E9%87%8F">3.1. Windows下查看与设置环境变量</a></li>
</ul>
</li>
<li><a href="#4-%E4%B8%8B%E8%BD%BD%E4%B8%8E%E5%AE%89%E8%A3%85odpnet%E9%A9%B1%E5%8A%A8">4. 下载与安装ODP.NET驱动</a></li>
<li><a href="#5-oracle%E6%95%B0%E6%8D%AE%E5%BA%93%E8%BF%9E%E6%8E%A5%E9%85%8D%E7%BD%AE">5. Oracle数据库连接配置</a><ul>
<li><a href="#51-%E5%88%86%E6%9E%90%E4%B8%8E%E8%A7%A3%E5%86%B3%E9%94%99%E8%AF%AF">5.1. 分析与解决错误</a><ul>
<li><a href="#511-%E5%85%88%E4%BA%86%E8%A7%A3%E4%B8%8B-oracle-tnsnamesora-%E6%96%87%E4%BB%B6%E7%94%A8%E6%B3%95">5.1.1. 先了解下 oracle <code>tnsnames.ora</code> 文件用法</a><ul>
<li><a href="#5111-1%E7%94%A8%E9%80%94">5.1.1.1. 1.用途</a></li>
<li><a href="#5112-2%E7%94%A8%E6%B3%95">5.1.1.2. 2.用法</a></li>
</ul>
</li>
</ul>
</li>
<li><a href="#52-%E8%A7%A3%E5%86%B3%E6%96%B9%E6%B3%95">5.2. 解决方法</a></li>
</ul>
</li>
</ul>
<h2 id="1-错误信息"><a href="#1-错误信息" class="headerlink" title="1. 错误信息"></a>1. 错误信息</h2><p>解决错误信息:<strong>找不到请求的 .Net Framework Data Provider。可能没有安装</strong></p>
<h3 id="1-1-错误详情"><a href="#1-1-错误详情" class="headerlink" title="1.1. 错误详情"></a>1.1. 错误详情</h3><p><img src="/2022/08/29/NET-Framework-%E8%BF%9E%E6%8E%A5-Oracle%E6%95%B0%E6%8D%AE%E5%BA%93/2022-08-30-08-53-43.png" alt="找不到请求的 .Net Framework Data Provider。可能没有安装。"></p>
<p class="article-more-link">
<a href="2022/08/29/NET-Framework-%E8%BF%9E%E6%8E%A5-Oracle%E6%95%B0%E6%8D%AE%E5%BA%93/#more">阅读全文</a>
</p>
</div>
</div>
</article>
<nav id="page-nav">
<!-- -->
<span class="page-number current">1</span><a class="page-number" href="page/2/">2</a><a class="page-number" href="page/3/">3</a><span class="space">…</span><a class="page-number" href="page/6/">6</a><a class="extend next" rel="next" href="page/2/">下一页 >></a>
</nav>
</section>
<aside id="sidebar">
<div class="widget-box">
<div class="avatar-box">
<img class="avatar" src="https://q1.qlogo.cn/g?b=qq&nk=979727728&s=640" title="图片来自QQ"></img>
<h3 class="avatar-name">
许嵩老公
</h3>
<p class="avatar-slogan">
深吸一口梦,吹个气球存起来。
</p>
</div>
</div>
<div class="widget-box">
<h3 class="widget-title">Tags</h3>
<div class="widget">
<ul class="tag-list" itemprop="keywords"><li class="tag-list-item"><a class="tag-list-link" href="tags/NET/" rel="tag">.NET</a></li><li class="tag-list-item"><a class="tag-list-link" href="tags/Cookie/" rel="tag">Cookie</a></li><li class="tag-list-item"><a class="tag-list-link" href="tags/ES6/" rel="tag">ES6</a></li><li class="tag-list-item"><a class="tag-list-link" href="tags/Git-Bash/" rel="tag">Git Bash</a></li><li class="tag-list-item"><a class="tag-list-link" href="tags/Github/" rel="tag">Github</a></li><li class="tag-list-item"><a class="tag-list-link" href="tags/Github-Actions/" rel="tag">Github Actions</a></li><li class="tag-list-item"><a class="tag-list-link" href="tags/HDFS/" rel="tag">HDFS</a></li><li class="tag-list-item"><a class="tag-list-link" href="tags/HTTP/" rel="tag">HTTP</a></li><li class="tag-list-item"><a class="tag-list-link" href="tags/Hadoop/" rel="tag">Hadoop</a></li><li class="tag-list-item"><a class="tag-list-link" href="tags/Hexo/" rel="tag">Hexo</a></li><li class="tag-list-item"><a class="tag-list-link" href="tags/Idea/" rel="tag">Idea</a></li><li class="tag-list-item"><a class="tag-list-link" href="tags/JVM/" rel="tag">JVM</a></li><li class="tag-list-item"><a class="tag-list-link" href="tags/Java/" rel="tag">Java</a></li><li class="tag-list-item"><a class="tag-list-link" href="tags/JavaScript/" rel="tag">JavaScript</a></li><li class="tag-list-item"><a class="tag-list-link" href="tags/Linux/" rel="tag">Linux</a></li><li class="tag-list-item"><a class="tag-list-link" href="tags/MapReduce/" rel="tag">MapReduce</a></li><li class="tag-list-item"><a class="tag-list-link" href="tags/Markdown/" rel="tag">Markdown</a></li><li class="tag-list-item"><a class="tag-list-link" href="tags/Maven/" rel="tag">Maven</a></li><li class="tag-list-item"><a class="tag-list-link" href="tags/Node/" rel="tag">Node</a></li><li class="tag-list-item"><a class="tag-list-link" href="tags/Node-js/" rel="tag">Node.js</a></li><li class="tag-list-item"><a class="tag-list-link" href="tags/SQL/" rel="tag">SQL</a></li><li class="tag-list-item"><a class="tag-list-link" href="tags/Serial-Port/" rel="tag">Serial Port</a></li><li class="tag-list-item"><a class="tag-list-link" href="tags/Shell/" rel="tag">Shell</a></li><li class="tag-list-item"><a class="tag-list-link" href="tags/SpringBoot/" rel="tag">SpringBoot</a></li><li class="tag-list-item"><a class="tag-list-link" href="tags/TCP/" rel="tag">TCP</a></li><li class="tag-list-item"><a class="tag-list-link" href="tags/VSCode/" rel="tag">VSCode</a></li><li class="tag-list-item"><a class="tag-list-link" href="tags/Vue/" rel="tag">Vue</a></li><li class="tag-list-item"><a class="tag-list-link" href="tags/WebSocket/" rel="tag">WebSocket</a></li><li class="tag-list-item"><a class="tag-list-link" href="tags/YARN/" rel="tag">YARN</a></li><li class="tag-list-item"><a class="tag-list-link" href="tags/hexo/" rel="tag">hexo</a></li><li class="tag-list-item"><a class="tag-list-link" href="tags/macOS/" rel="tag">macOS</a></li><li class="tag-list-item"><a class="tag-list-link" href="tags/ssh/" rel="tag">ssh</a></li><li class="tag-list-item"><a class="tag-list-link" href="tags/%E4%B8%AD%E6%96%87%E4%B9%B1%E7%A0%81/" rel="tag">中文乱码</a></li><li class="tag-list-item"><a class="tag-list-link" href="tags/%E5%A4%A7%E6%95%B0%E6%8D%AE/" rel="tag">大数据</a></li><li class="tag-list-item"><a class="tag-list-link" href="tags/%E5%AE%89%E8%A3%85%E6%95%99%E7%A8%8B/" rel="tag">安装教程</a></li><li class="tag-list-item"><a class="tag-list-link" href="tags/%E5%AF%86%E9%92%A5/" rel="tag">密钥</a></li><li class="tag-list-item"><a class="tag-list-link" href="tags/%E5%B9%B6%E8%A1%8C%E7%BC%96%E7%A8%8B/" rel="tag">并行编程</a></li><li class="tag-list-item"><a class="tag-list-link" href="tags/%E6%95%B0%E6%8D%AE%E5%BA%93/" rel="tag">数据库</a></li><li class="tag-list-item"><a class="tag-list-link" href="tags/%E7%94%B5%E8%84%91/" rel="tag">电脑</a></li><li class="tag-list-item"><a class="tag-list-link" href="tags/%E7%AB%B9%E4%BA%91/" rel="tag">竹云</a></li><li class="tag-list-item"><a class="tag-list-link" href="tags/%E7%BB%88%E7%AB%AF/" rel="tag">终端</a></li><li class="tag-list-item"><a class="tag-list-link" href="tags/%E8%84%9A%E6%9C%AC/" rel="tag">脚本</a></li><li class="tag-list-item"><a class="tag-list-link" href="tags/%E8%BD%AC%E8%BD%BD/" rel="tag">转载</a></li><li class="tag-list-item"><a class="tag-list-link" href="tags/%E8%BD%AF%E4%BB%B6/" rel="tag">软件</a></li></ul>
</div>
</div>
<div class="widget-box">
<h3 class="widget-title">Tag Cloud</h3>
<div class="widget tagcloud">
<a href="tags/NET/" style="font-size: 10px;">.NET</a> <a href="tags/Cookie/" style="font-size: 10px;">Cookie</a> <a href="tags/ES6/" style="font-size: 10px;">ES6</a> <a href="tags/Git-Bash/" style="font-size: 11.67px;">Git Bash</a> <a href="tags/Github/" style="font-size: 13.33px;">Github</a> <a href="tags/Github-Actions/" style="font-size: 10px;">Github Actions</a> <a href="tags/HDFS/" style="font-size: 10px;">HDFS</a> <a href="tags/HTTP/" style="font-size: 11.67px;">HTTP</a> <a href="tags/Hadoop/" style="font-size: 18.33px;">Hadoop</a> <a href="tags/Hexo/" style="font-size: 10px;">Hexo</a> <a href="tags/Idea/" style="font-size: 10px;">Idea</a> <a href="tags/JVM/" style="font-size: 18.33px;">JVM</a> <a href="tags/Java/" style="font-size: 20px;">Java</a> <a href="tags/JavaScript/" style="font-size: 16.67px;">JavaScript</a> <a href="tags/Linux/" style="font-size: 15px;">Linux</a> <a href="tags/MapReduce/" style="font-size: 11.67px;">MapReduce</a> <a href="tags/Markdown/" style="font-size: 10px;">Markdown</a> <a href="tags/Maven/" style="font-size: 13.33px;">Maven</a> <a href="tags/Node/" style="font-size: 10px;">Node</a> <a href="tags/Node-js/" style="font-size: 10px;">Node.js</a> <a href="tags/SQL/" style="font-size: 13.33px;">SQL</a> <a href="tags/Serial-Port/" style="font-size: 10px;">Serial Port</a> <a href="tags/Shell/" style="font-size: 11.67px;">Shell</a> <a href="tags/SpringBoot/" style="font-size: 10px;">SpringBoot</a> <a href="tags/TCP/" style="font-size: 10px;">TCP</a> <a href="tags/VSCode/" style="font-size: 10px;">VSCode</a> <a href="tags/Vue/" style="font-size: 10px;">Vue</a> <a href="tags/WebSocket/" style="font-size: 11.67px;">WebSocket</a> <a href="tags/YARN/" style="font-size: 10px;">YARN</a> <a href="tags/hexo/" style="font-size: 11.67px;">hexo</a> <a href="tags/macOS/" style="font-size: 11.67px;">macOS</a> <a href="tags/ssh/" style="font-size: 11.67px;">ssh</a> <a href="tags/%E4%B8%AD%E6%96%87%E4%B9%B1%E7%A0%81/" style="font-size: 10px;">中文乱码</a> <a href="tags/%E5%A4%A7%E6%95%B0%E6%8D%AE/" style="font-size: 10px;">大数据</a> <a href="tags/%E5%AE%89%E8%A3%85%E6%95%99%E7%A8%8B/" style="font-size: 10px;">安装教程</a> <a href="tags/%E5%AF%86%E9%92%A5/" style="font-size: 10px;">密钥</a> <a href="tags/%E5%B9%B6%E8%A1%8C%E7%BC%96%E7%A8%8B/" style="font-size: 10px;">并行编程</a> <a href="tags/%E6%95%B0%E6%8D%AE%E5%BA%93/" style="font-size: 10px;">数据库</a> <a href="tags/%E7%94%B5%E8%84%91/" style="font-size: 11.67px;">电脑</a> <a href="tags/%E7%AB%B9%E4%BA%91/" style="font-size: 11.67px;">竹云</a> <a href="tags/%E7%BB%88%E7%AB%AF/" style="font-size: 13.33px;">终端</a> <a href="tags/%E8%84%9A%E6%9C%AC/" style="font-size: 10px;">脚本</a> <a href="tags/%E8%BD%AC%E8%BD%BD/" style="font-size: 10px;">转载</a> <a href="tags/%E8%BD%AF%E4%BB%B6/" style="font-size: 10px;">软件</a>
</div>
</div>
<div class="widget-box">
<h3 class="widget-title">Archives</h3>
<div class="widget">
<ul class="archive-list"><li class="archive-list-item"><a class="archive-list-link" href="archives/2023/02/">二月 2023</a></li><li class="archive-list-item"><a class="archive-list-link" href="archives/2023/01/">一月 2023</a></li><li class="archive-list-item"><a class="archive-list-link" href="archives/2022/11/">十一月 2022</a></li><li class="archive-list-item"><a class="archive-list-link" href="archives/2022/09/">九月 2022</a></li><li class="archive-list-item"><a class="archive-list-link" href="archives/2022/08/">八月 2022</a></li><li class="archive-list-item"><a class="archive-list-link" href="archives/2021/12/">十二月 2021</a></li><li class="archive-list-item"><a class="archive-list-link" href="archives/2021/02/">二月 2021</a></li><li class="archive-list-item"><a class="archive-list-link" href="archives/2021/01/">一月 2021</a></li><li class="archive-list-item"><a class="archive-list-link" href="archives/2020/08/">八月 2020</a></li><li class="archive-list-item"><a class="archive-list-link" href="archives/2020/07/">七月 2020</a></li><li class="archive-list-item"><a class="archive-list-link" href="archives/2020/06/">六月 2020</a></li></ul>
</div>
</div>
<div class="widget-box">
<h3 class="widget-title">Recent Posts</h3>
<div class="widget">
<ul>
<li>
<a href="2023/02/13/%E4%BD%BF%E7%94%A8Node-js%E5%90%8E%E5%8F%B0%E8%AF%BB%E5%8F%96%E4%B8%B2%E5%8F%A3%E6%95%B0%E6%8D%AE%E5%B9%B6%E9%80%9A%E8%BF%87WebSocket%E5%AE%9E%E6%97%B6%E6%98%BE%E7%A4%BA%E5%9C%A8%E7%BD%91%E9%A1%B5%E4%B8%8A/">使用Node.js后台读取串口数据并通过WebSocket实时显示在网页上</a>
</li>
<li>
<a href="2023/02/09/%E4%BD%9C%E4%B8%BA%E7%94%A8%E6%88%B7%EF%BC%8C%E4%BF%AE%E6%94%B9Cookie%E6%9C%89%E6%95%88%E6%9C%9F%EF%BC%8C%E5%BB%B6%E9%95%BFCookie%E6%9C%9F%E9%99%90/">作为用户,修改Cookie有效期,延长Cookie期限</a>
</li>
<li>
<a href="2023/02/08/%E7%BB%88%E7%AB%AF%E5%91%BD%E4%BB%A4%E4%BB%A3%E7%90%86/">终端命令网络设置</a>
</li>
<li>
<a href="2023/01/18/Windows%E7%B3%BB%E7%BB%9FC%E7%9B%98%E6%B8%85%E7%90%86%E5%B7%A5%E5%85%B7FreeMove%E5%8F%8A%E6%96%87%E4%BB%B6%E5%8D%A0%E7%94%A8%E8%BF%9B%E7%A8%8B%E6%9F%A5%E7%9C%8B%E8%BD%AF%E4%BB%B6LockHunter%E9%85%8D%E5%90%88%E4%BD%BF%E7%94%A8/">Windows系统C盘清理工具FreeMove及文件占用进程查看软件LockHunter配合使用</a>
</li>
<li>
<a href="2023/01/14/AutoReconnectWiFi/">检测断网自动重连WiFi脚本</a>
</li>
</ul>
</div>
</div>
<div class="widget-box">
<h3 class="widget-title">友链</h3>
<div class="widget">
<!-- <a style="display: block;" href="https://xiaoyan94.github.io/" title target='_blank' -->
<a style="display: block;" href="https://xiaoyan94.github.io/" title target='_blank'
>Github Pages</a>
<!-- <a style="display: block;" href="https://xy94.gitee.io/" title target='_blank' -->
<a style="display: block;" href="https://xy94.gitee.io/" title target='_blank'
>Gitee Pages</a>
</div>
</div>
</aside>
</div>
<footer id="footer">
<div class="foot-box global-width center">
© 2023 许嵩老公
Powered by <a href="http://hexo.io/" target="_blank">Hexo</a>
| 主题 <a href="https://github.com/yiluyanxia/hexo-theme-antiquity" target="_blank" rel="noopener">antiquity</a>
<br>
<script async src="//busuanzi.ibruce.info/busuanzi/2.3/busuanzi.pure.mini.js"></script>
<span id="busuanzi_container_site_pv">不蒜子告之 阁下是第<span id="busuanzi_value_site_pv"></span>个访客</span>
</div>
<!--引入文字点击特效-->
<script src="https://code.jquery.com/jquery-2.0.3.min.js"></script>
<script src="/js/dianji.js"></script>
</footer>
<!--添加回到顶部按钮-->
<style>
/* 小猫置顶 */
/* 自定义回到顶部样式 */
.cd-top {
position: fixed;
right: 25px;
top: -900px;
z-index: 99;
width: 70px;
height: 900px;
/* background: url(https://cdn.jsdelivr.net/gh/moezx/[email protected]/img/Sakura/images/scroll.png) no-repeat center; */
background: url(/images/scroll.png) no-repeat center;
background-size: contain;
-webkit-transition: all .5s ease-in-out;
transition: all .5s ease-in-out;
/* cursor: url(https://cdn.jsdelivr.net/gh/moezx/[email protected]/img/Sakura/cursor/No_Disponible.cur), auto; */
cursor: url(/images/cursor/No_Disponible.cur), auto;
opacity: 1
}
.cd-top.cd-is-visible {
opacity: 1;
top: -326px
}
.cd-top.cd-fade-out {
opacity: 1
}
.cd-top:hover {
opacity: 1
}
.cd-top span {
display: none;
color: #000;
position: absolute;
bottom: 0;
height: 20px;
width: 50px;
text-align: center
}
@media screen and (max-width:860px) {
.cd-top {
display: none;
height: 60px;
width: 50px
}
.cd-top span {
height: 10px;
width: 50px
}
}
#moblieGoTop {
display: none;
position: fixed;
bottom: 10px;
right: 10px;
z-index: 99;
border: 0;
outline: 0;
background-color: #fff;
color: #404040;
cursor: pointer;
padding: 15px;
border-radius: 10px;
border-radius: 12px;
box-shadow: 0 0 2px 0 rgba(0, 0, 0, .12), 0 2px 2px 0 rgba(0, 0, 0, .24);
transition: box-shadow .2s ease
}
#moblieGoTop:hover {
background-color: #fff;
opacity: .8
}
.changeSkin-gear {
position: fixed;
bottom: 0;
left: auto;
right: 5px;
width: auto;
height: auto;
z-index: 99;
white-space: nowrap;
padding: 10px 10px;
cursor: pointer;
border-radius: 10px 10px 0 0
}
</style>
<!-- 添加小猫置顶 -->
<a class="cd-top faa-float animated cd-is-visible cd-fade-out" style="top: -500px;"></a>
<button id="moblieGoTop" title="Go to top" style="display: none;font-size: xx-large;"><i class="fa fa-chevron-up" aria-hidden="true"></i>🔝</button>
<!-- <div class="scroll "> <i class="fa fa-arrow-up" style="margin-left: 4px;"></i>
Top⬆️
<span class="scrollpercent" style="margin-left: -2px;"></span>
<span style="margin-right: 4px; margin-left: -4px;">%</span>
</div> -->
<!-- https://www.huangpinke.com/2018/08/24/add-back-to-top-button.html -->
<script src="https://code.jquery.com/jquery-2.0.3.min.js"></script>
<script>
if (!window.jQuery) {
var script = document.createElement('script');
script.src = "/js/jquery-2.0.3.min.js";
document.body.write(script);
}
</script>
<link rel="stylesheet" href="fancybox/jquery.fancybox.css">
<script src="fancybox/jquery.fancybox.pack.js"></script>
<script src="js/script.js"></script>
<script>
(function(){
var bp = document.createElement('script');
bp.src = '//push.zhanzhang.baidu.com/push.js';
var s = document.getElementsByTagName("script")[0];
s.parentNode.insertBefore(bp, s);
})();
</script>
<!-- mermaid图 -->
<script src='https://unpkg.com/[email protected]/dist/mermaid.min.js'></script>
<script>
if (window.mermaid) {
mermaid.initialize({theme: 'forest'});
}
</script>
</div>
<nav id="mobile-nav" class="mobile-nav-box">
<div class="mobile-nav-img mobile-nav-top"></div>
<a href="index.html" class="mobile-nav-link">首页</a>
<a href="/archives" class="mobile-nav-link">归档</a>
<a href="/quick-notes" class="mobile-nav-link">小抄</a>
<a href="/about" class="mobile-nav-link">关于</a>
<div class="mobile-nav-img mobile-nav-bottom"></div>
</nav>
</div>
</body>
</html>