-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathatom.xml
1428 lines (899 loc) · 85.9 KB
/
atom.xml
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
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
<title>ookamiAntD's Blog</title>
<subtitle>Easy coding,easy life.</subtitle>
<link href="/atom.xml" rel="self"/>
<link href="http://yangbingdong.com/"/>
<updated>2020-10-11T02:26:14.586Z</updated>
<id>http://yangbingdong.com/</id>
<author>
<name>ookamiAntD</name>
</author>
<generator uri="http://hexo.io/">Hexo</generator>
<entry>
<title>Spring Cloud Alibaba 介绍</title>
<link href="http://yangbingdong.com/2020/spring-cloud-alibaba-introduce/"/>
<id>http://yangbingdong.com/2020/spring-cloud-alibaba-introduce/</id>
<published>2020-09-09T03:06:32.000Z</published>
<updated>2020-10-11T02:26:14.586Z</updated>
<summary type="html">
<p><img src="https://oldcdn.yangbingdong.com/img/spring-cloud-alibaba/spring-cloud-alibaba-introduce.png" alt></p>
<h1 id="Preface"><a href="#Preface" class="headerlink" title="Preface"></a>Preface</h1><blockquote>
<p>阿里作为国内最大的云厂家之一, 在微服务如火如荼的当下也紧跟时代, 推出了 Spring Cloud Alibaba 体系, 与自身的云产品有更好的融合. 本篇主要记录开源 Spring Cloud Alibaba 组件的简单实用.</p>
</blockquote>
</summary>
<category term="Programming" scheme="http://yangbingdong.com/categories/Programming/"/>
<category term="Java" scheme="http://yangbingdong.com/categories/Programming/Java/"/>
<category term="Spring Cloud" scheme="http://yangbingdong.com/categories/Programming/Java/Spring-Cloud/"/>
<category term="Spring" scheme="http://yangbingdong.com/tags/Spring/"/>
<category term="Spring Cloud" scheme="http://yangbingdong.com/tags/Spring-Cloud/"/>
<category term="Spring Cloud Alibaba" scheme="http://yangbingdong.com/tags/Spring-Cloud-Alibaba/"/>
</entry>
<entry>
<title>微信公众号开发</title>
<link href="http://yangbingdong.com/2020/weixin-mp-dev/"/>
<id>http://yangbingdong.com/2020/weixin-mp-dev/</id>
<published>2020-08-01T02:32:59.000Z</published>
<updated>2020-08-10T08:33:21.399Z</updated>
<summary type="html">
<p><img src="https://oldcdn.yangbingdong.com/img/weixin-dev/weixin-mp-dev-banner.png" alt></p>
<h1 id="Preface"><a href="#Preface" class="headerlink" title="Preface"></a>Preface</h1><blockquote>
<p>使用微信提供的微信平台体系(微信开放平台/微信公众号平台/微信小程序/微信支付等)可以使我们的业务接入庞大的微信体系, 定义自己的个性化业务.</p>
<p>这里主要记录一下微信公众号开发相关的要点…</p>
</blockquote>
</summary>
<category term="Java" scheme="http://yangbingdong.com/categories/Java/"/>
<category term="Java" scheme="http://yangbingdong.com/tags/Java/"/>
<category term="Weixin" scheme="http://yangbingdong.com/tags/Weixin/"/>
</entry>
<entry>
<title>Kuberbetes 常用概念及操作</title>
<link href="http://yangbingdong.com/2020/kubernetes-guide/"/>
<id>http://yangbingdong.com/2020/kubernetes-guide/</id>
<published>2020-07-19T06:54:13.000Z</published>
<updated>2020-11-12T11:01:47.941Z</updated>
<summary type="html">
<p><img src="https://oldcdn.yangbingdong.com/img/k8s-learning/kubernetes-learning-banner.png" alt></p>
<h1 id="Preface"><a href="#Preface" class="headerlink" title="Preface"></a>Preface</h1><blockquote>
<p>K8S(Kubernetes) 现在来说也不是什么新鲜的词了, 或许小公司玩得比较少, 自己也一直没有实操的机会. 幸会近来公司也开始使用 K8S, 有机会将学习过的东西在生产上实践一遍.</p>
</blockquote>
</summary>
<category term="Docker" scheme="http://yangbingdong.com/categories/Docker/"/>
<category term="Docker" scheme="http://yangbingdong.com/tags/Docker/"/>
<category term="Kubernetes" scheme="http://yangbingdong.com/tags/Kubernetes/"/>
<category term="K8S" scheme="http://yangbingdong.com/tags/K8S/"/>
</entry>
<entry>
<title>Spring Security 与 HandlerInterceptor 的认证鉴权</title>
<link href="http://yangbingdong.com/2020/spring-security-mvc-interceptor/"/>
<id>http://yangbingdong.com/2020/spring-security-mvc-interceptor/</id>
<published>2020-05-26T08:30:58.000Z</published>
<updated>2020-07-20T03:52:03.971Z</updated>
<summary type="html">
<p><img src="https://oldcdn.yangbingdong.com/img/spring-boot-security/spring-authentication-banner.png" alt></p>
<h1 id="Preface"><a href="#Preface" class="headerlink" title="Preface"></a>Preface</h1><blockquote>
<p>本篇总结分别基于 Spring Security 与 Spring MVC HandlerInterceptor 实现认证鉴权.</p>
</blockquote>
</summary>
<category term="Programming" scheme="http://yangbingdong.com/categories/Programming/"/>
<category term="Java" scheme="http://yangbingdong.com/categories/Programming/Java/"/>
<category term="Spring Boot" scheme="http://yangbingdong.com/categories/Programming/Java/Spring-Boot/"/>
<category term="Java" scheme="http://yangbingdong.com/tags/Java/"/>
<category term="Spring Boot" scheme="http://yangbingdong.com/tags/Spring-Boot/"/>
<category term="Spring" scheme="http://yangbingdong.com/tags/Spring/"/>
<category term="Spring Security" scheme="http://yangbingdong.com/tags/Spring-Security/"/>
</entry>
<entry>
<title>位运算以及常用场景</title>
<link href="http://yangbingdong.com/2020/bit-operation/"/>
<id>http://yangbingdong.com/2020/bit-operation/</id>
<published>2020-01-15T04:02:36.000Z</published>
<updated>2020-09-25T05:53:57.839Z</updated>
<summary type="html">
<p><img src="https://oldcdn.yangbingdong.com/img/bit-operation/bit-operation-banner.jpg" alt></p>
<h1 id="Preface"><a href="#Preface" class="headerlink" title="Preface"></a>Preface</h1><blockquote>
<p>位运算以及常用场景(装X)…</p>
</blockquote>
</summary>
<category term="Programming" scheme="http://yangbingdong.com/categories/Programming/"/>
<category term="Algorithms" scheme="http://yangbingdong.com/categories/Programming/Algorithms/"/>
<category term="Java" scheme="http://yangbingdong.com/tags/Java/"/>
<category term="Algorithms" scheme="http://yangbingdong.com/tags/Algorithms/"/>
</entry>
<entry>
<title>并发设计模式</title>
<link href="http://yangbingdong.com/2019/java-concurrent-part5/"/>
<id>http://yangbingdong.com/2019/java-concurrent-part5/</id>
<published>2019-10-29T03:45:41.000Z</published>
<updated>2020-04-07T10:15:47.010Z</updated>
<summary type="html">
<p><img src="https://oldcdn.yangbingdong.com/img/concurrent/java-concurrent-part5-banner.jpg" alt></p>
<h1 id="Preface"><a href="#Preface" class="headerlink" title="Preface"></a>Preface</h1><blockquote>
<p>并发领域中也有诸多的设计模式.</p>
</blockquote>
</summary>
<category term="Programming" scheme="http://yangbingdong.com/categories/Programming/"/>
<category term="Java" scheme="http://yangbingdong.com/categories/Programming/Java/"/>
<category term="Concurrent" scheme="http://yangbingdong.com/categories/Programming/Java/Concurrent/"/>
<category term="Java" scheme="http://yangbingdong.com/tags/Java/"/>
<category term="Concurrent" scheme="http://yangbingdong.com/tags/Concurrent/"/>
</entry>
<entry>
<title>Java 并发拾遗-并发工具(下)</title>
<link href="http://yangbingdong.com/2019/java-concurrent-part4/"/>
<id>http://yangbingdong.com/2019/java-concurrent-part4/</id>
<published>2019-09-15T09:04:25.000Z</published>
<updated>2020-04-07T10:15:47.010Z</updated>
<summary type="html">
<p><img src="https://oldcdn.yangbingdong.com/img/concurrent/java-concurrent-part4-banner-min.png" alt></p>
<h1 id="Preface"><a href="#Preface" class="headerlink" title="Preface"></a>Preface</h1><blockquote>
<p>这一篇关于线程池与Future相关.</p>
</blockquote>
</summary>
<category term="Programming" scheme="http://yangbingdong.com/categories/Programming/"/>
<category term="Java" scheme="http://yangbingdong.com/categories/Programming/Java/"/>
<category term="Concurrent" scheme="http://yangbingdong.com/categories/Programming/Java/Concurrent/"/>
<category term="Java" scheme="http://yangbingdong.com/tags/Java/"/>
<category term="Concurrent" scheme="http://yangbingdong.com/tags/Concurrent/"/>
</entry>
<entry>
<title>Java 并发拾遗-并发工具(中)</title>
<link href="http://yangbingdong.com/2019/java-concurrent-part3/"/>
<id>http://yangbingdong.com/2019/java-concurrent-part3/</id>
<published>2019-09-10T07:43:54.000Z</published>
<updated>2020-04-07T10:15:47.010Z</updated>
<summary type="html">
<p><img src="https://oldcdn.yangbingdong.com/img/concurrent/java-concurrent-part3-banner2.jpg" alt></p>
<h1 id="Preface"><a href="#Preface" class="headerlink" title="Preface"></a>Preface</h1><blockquote>
<p>此篇聊聊 线程安全的容器 以及 JDK 原子类的简单使用.</p>
</blockquote>
</summary>
<category term="Programming" scheme="http://yangbingdong.com/categories/Programming/"/>
<category term="Java" scheme="http://yangbingdong.com/categories/Programming/Java/"/>
<category term="Concurrent" scheme="http://yangbingdong.com/categories/Programming/Java/Concurrent/"/>
<category term="Java" scheme="http://yangbingdong.com/tags/Java/"/>
<category term="Concurrent" scheme="http://yangbingdong.com/tags/Concurrent/"/>
</entry>
<entry>
<title>Java 并发拾遗-并发工具(上)</title>
<link href="http://yangbingdong.com/2019/java-concurrent-part2/"/>
<id>http://yangbingdong.com/2019/java-concurrent-part2/</id>
<published>2019-09-06T02:45:59.000Z</published>
<updated>2020-04-07T10:15:47.010Z</updated>
<summary type="html">
<p><img src="https://oldcdn.yangbingdong.com/img/concurrent/java-concurrent-lock-condition-banner.png" alt></p>
<h1 id="Preface"><a href="#Preface" class="headerlink" title="Preface"></a>Preface</h1><blockquote>
<p>JDK 并发包中有着许许多多的工具类, 将分为上中下三篇回顾这些工具类以及其简单的使用.</p>
</blockquote>
</summary>
<category term="Programming" scheme="http://yangbingdong.com/categories/Programming/"/>
<category term="Java" scheme="http://yangbingdong.com/categories/Programming/Java/"/>
<category term="Concurrent" scheme="http://yangbingdong.com/categories/Programming/Java/Concurrent/"/>
<category term="Java" scheme="http://yangbingdong.com/tags/Java/"/>
<category term="Concurrent" scheme="http://yangbingdong.com/tags/Concurrent/"/>
</entry>
<entry>
<title>Java 并发拾遗-并发理论基础</title>
<link href="http://yangbingdong.com/2019/java-concurrent-part1/"/>
<id>http://yangbingdong.com/2019/java-concurrent-part1/</id>
<published>2019-08-28T08:58:19.000Z</published>
<updated>2020-04-07T10:15:47.010Z</updated>
<summary type="html">
<p><img src="https://oldcdn.yangbingdong.com/img/concurrent/java-concurrnt-part1-banner.jpeg" alt></p>
<blockquote>
<p>时代在进步, 硬件也在进步, 为了提高 CPU 以及 IO 的利用率, 并发编程已经慢慢成为一项必备技能. 过往总对并发编程感到恐惧, 应为对其的陌生导致了编码方面的困难以及诸多的 BUG, 学习并发编程, 一定需要有一个系统性的学习过程.</p>
</blockquote>
</summary>
<category term="Programming" scheme="http://yangbingdong.com/categories/Programming/"/>
<category term="Java" scheme="http://yangbingdong.com/categories/Programming/Java/"/>
<category term="Concurrent" scheme="http://yangbingdong.com/categories/Programming/Java/Concurrent/"/>
<category term="Java" scheme="http://yangbingdong.com/tags/Java/"/>
<category term="Concurrent" scheme="http://yangbingdong.com/tags/Concurrent/"/>
</entry>
<entry>
<title>Spring Data JPA 拾遗</title>
<link href="http://yangbingdong.com/2019/spring-boot-data-jpa-learning/"/>
<id>http://yangbingdong.com/2019/spring-boot-data-jpa-learning/</id>
<published>2019-07-17T08:45:26.000Z</published>
<updated>2020-04-07T10:15:47.014Z</updated>
<summary type="html">
<p><img src="https://oldcdn.yangbingdong.com/img/spring-boot-orm/jpa-logo.png" alt></p>
<h1 id="Preface"><a href="#Preface" class="headerlink" title="Preface"></a>Preface</h1><blockquote>
<p> JPA在国内的使用频率较小, 但也是一个值得学习的极为优秀的ORM框架, DDD的思想在里面体现得淋漓尽致.</p>
</blockquote>
</summary>
<category term="Programming" scheme="http://yangbingdong.com/categories/Programming/"/>
<category term="Java" scheme="http://yangbingdong.com/categories/Programming/Java/"/>
<category term="Spring Boot" scheme="http://yangbingdong.com/categories/Programming/Java/Spring-Boot/"/>
<category term="Java" scheme="http://yangbingdong.com/tags/Java/"/>
<category term="Spring Boot" scheme="http://yangbingdong.com/tags/Spring-Boot/"/>
</entry>
<entry>
<title>Spring Boot 之数据篇</title>
<link href="http://yangbingdong.com/2019/spring-boot-learning-orm/"/>
<id>http://yangbingdong.com/2019/spring-boot-learning-orm/</id>
<published>2019-06-15T03:43:02.000Z</published>
<updated>2020-04-07T10:15:47.014Z</updated>
<summary type="html">
<p><img src="https://oldcdn.yangbingdong.com/img/spring-boot-orm/spring-data-learning.png" alt></p>
<h1 id="Preface"><a href="#Preface" class="headerlink" title="Preface"></a>Preface</h1><blockquote>
<p>后端应用当中与DB交互也是必不可少的一部, 在Java中我们将交互部分抽象成了 <strong>ORM</strong>(Object Relational Mapping), 以下是数据源以及ORM相关…</p>
</blockquote>
</summary>
<category term="Programming" scheme="http://yangbingdong.com/categories/Programming/"/>
<category term="Java" scheme="http://yangbingdong.com/categories/Programming/Java/"/>
<category term="Spring Boot" scheme="http://yangbingdong.com/categories/Programming/Java/Spring-Boot/"/>
<category term="Java" scheme="http://yangbingdong.com/tags/Java/"/>
<category term="Spring Boot" scheme="http://yangbingdong.com/tags/Spring-Boot/"/>
</entry>
<entry>
<title>线上问题定位常用技巧</title>
<link href="http://yangbingdong.com/2019/localize-server-problem/"/>
<id>http://yangbingdong.com/2019/localize-server-problem/</id>
<published>2019-05-05T09:09:02.000Z</published>
<updated>2020-04-07T10:15:47.010Z</updated>
<summary type="html">
<p><img src="https://oldcdn.yangbingdong.com/img/online-debug/locate.png" alt></p>
<h1 id="Preface"><a href="#Preface" class="headerlink" title="Preface"></a>Preface</h1><blockquote>
<p>线上问题无可避免, 人为BUG, 系统资源限制等, 通过合理的手段可让问题现出原形, 这里记录一些常用的排查手段.</p>
</blockquote>
</summary>
<category term="Programming" scheme="http://yangbingdong.com/categories/Programming/"/>
<category term="Java" scheme="http://yangbingdong.com/categories/Programming/Java/"/>
<category term="Java" scheme="http://yangbingdong.com/tags/Java/"/>
<category term="MAT" scheme="http://yangbingdong.com/tags/MAT/"/>
</entry>
<entry>
<title>Rabbit & Spring AMQP 入门</title>
<link href="http://yangbingdong.com/2019/rabbitmq-and-spring-amqp-learning/"/>
<id>http://yangbingdong.com/2019/rabbitmq-and-spring-amqp-learning/</id>
<published>2019-04-25T08:44:51.000Z</published>
<updated>2020-04-23T10:04:19.385Z</updated>
<summary type="html">
<p><img src="https://oldcdn.yangbingdong.com/img/rabbitmq-learning/spring-rabbitmq-banner.png" alt></p>
<h1 id="Preface"><a href="#Preface" class="headerlink" title="Preface"></a>Preface</h1><blockquote>
<p>MQ(Message Queue, 消息队列)是一种应用系统之间的通信方法. 是通过读写出入队列的消息来通信(RPC则是通过直接调用彼此来通信的). </p>
<p>AMQP, 即Advanced Message Queuing Protocol, 高级消息队列协议, 是应用层协议的一个开放标准, 为面向消息的中间件设计. 消息中间件主要用于组件之间的解耦, 消息的发送者无需知道消息使用者的存在, 反之亦然.<br>AMQP的主要特征是面向消息, 队列, 路由(包括点对点和发布/订阅), 可靠性, 安全. </p>
<p>RabbitMQ是一个开源的AMQP<strong>实现</strong>, 服务器端用Erlang语言编写. </p>
</blockquote>
</summary>
<category term="Programming" scheme="http://yangbingdong.com/categories/Programming/"/>
<category term="Java" scheme="http://yangbingdong.com/categories/Programming/Java/"/>
<category term="Java" scheme="http://yangbingdong.com/tags/Java/"/>
<category term="Spring Boot" scheme="http://yangbingdong.com/tags/Spring-Boot/"/>
<category term="Spring Cloud" scheme="http://yangbingdong.com/tags/Spring-Cloud/"/>
<category term="RabbitMQ" scheme="http://yangbingdong.com/tags/RabbitMQ/"/>
</entry>
<entry>
<title>使用Caddy部署Https静态博客站点</title>
<link href="http://yangbingdong.com/2019/use-caddy-to-deploy-static-blog-with-https/"/>
<id>http://yangbingdong.com/2019/use-caddy-to-deploy-static-blog-with-https/</id>
<published>2019-02-13T14:40:50.000Z</published>
<updated>2020-04-07T10:15:47.014Z</updated>
<summary type="html">
<p><img src="https://oldcdn.yangbingdong.com/img/caddy/caddy-banner.png" alt></p>
<h1 id="Preface"><a href="#Preface" class="headerlink" title="Preface"></a>Preface</h1><blockquote>
<p>Github Pages 在国内访问速度不理想, 其他国内的免费静态页面服务(Coding等)有时候也比较慢, 于是决定自己使用国内的云服务器部署静态博客. 一般是通过Nginx可以做到, 但是要开启Https以及Http2还需要手动配置一些东西, 面向普通用户不太友善, 这时候可以使用 <strong><em><a href="https://caddyserver.com" rel="external nofollow noopener noreferrer" target="_blank">Caddy</a></em></strong> 来做到简易部署Https的静态博客…</p>
</blockquote>
</summary>
<category term="VPS" scheme="http://yangbingdong.com/categories/VPS/"/>
<category term="Hexo" scheme="http://yangbingdong.com/tags/Hexo/"/>
<category term="VPS" scheme="http://yangbingdong.com/tags/VPS/"/>
<category term="Caddy" scheme="http://yangbingdong.com/tags/Caddy/"/>
</entry>
<entry>
<title>Nexus搭建与Maven配置</title>
<link href="http://yangbingdong.com/2019/nexus3-by-docker/"/>
<id>http://yangbingdong.com/2019/nexus3-by-docker/</id>
<published>2019-01-21T06:40:59.000Z</published>
<updated>2020-04-07T10:15:47.010Z</updated>
<summary type="html">
<p><img src="https://oldcdn.yangbingdong.com/img/docker-nexus3/nexus-logo.png" alt></p>
<h1 id="Preface"><a href="#Preface" class="headerlink" title="Preface"></a>Preface</h1><blockquote>
<p>一般每个企业里面都有属于自己的Nexus服务器作为自己的私服(代理),私服好处众多,例如加速构建、稳定,节省带宽、节省中央<code>maven</code>仓库的带宽,控制和审计,可以建立本地内部仓库、可以建立公共仓库等等。<code>Docker</code> 可以大大简化服务器的部署,并且Nexus3已经支持<code>Docker Image</code>啦~爽歪歪</p>
</blockquote>
</summary>
<category term="Maven" scheme="http://yangbingdong.com/categories/Maven/"/>
<category term="Maven" scheme="http://yangbingdong.com/tags/Maven/"/>
</entry>
<entry>
<title>Spring与任务调度</title>
<link href="http://yangbingdong.com/2018/spring-boot-scheduler/"/>
<id>http://yangbingdong.com/2018/spring-boot-scheduler/</id>
<published>2018-12-02T06:23:13.000Z</published>
<updated>2020-04-07T10:15:47.014Z</updated>
<summary type="html">
<p><img src="https://oldcdn.yangbingdong.com/img/scheduler/scheduler-banner.jpg" alt></p>
<h1 id="Preface"><a href="#Preface" class="headerlink" title="Preface"></a>Preface</h1><blockquote>
<p>本篇主要记录<strong>任务调度</strong>相关框架知识. </p>
<p>任务调度这个在日常开发中非常经典, 比如每天固定时刻同步用户信息、或者是动态的活动开始与结束时间, 亦或者每天早上8点发条短信鼓励一下自己今天努力填坑之类的. . . </p>
</blockquote>
</summary>
<category term="Programming" scheme="http://yangbingdong.com/categories/Programming/"/>
<category term="Java" scheme="http://yangbingdong.com/categories/Programming/Java/"/>
<category term="Spring Boot" scheme="http://yangbingdong.com/categories/Programming/Java/Spring-Boot/"/>
<category term="Java" scheme="http://yangbingdong.com/tags/Java/"/>
<category term="Spring Boot" scheme="http://yangbingdong.com/tags/Spring-Boot/"/>
<category term="Scheduler" scheme="http://yangbingdong.com/tags/Scheduler/"/>
</entry>
<entry>
<title>Redis拾遗与Spring Boot整合</title>
<link href="http://yangbingdong.com/2018/spring-boot-learning-redis/"/>
<id>http://yangbingdong.com/2018/spring-boot-learning-redis/</id>
<published>2018-10-06T08:15:04.000Z</published>
<updated>2020-07-15T11:05:06.641Z</updated>
<summary type="html">
<p><img src="https://oldcdn.yangbingdong.com/img/spring-boot-redis/redis-logo.png" alt></p>
<h1 id="Preface"><a href="#Preface" class="headerlink" title="Preface"></a>Preface</h1><blockquote>
<p>Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库, 并提供多种语言的API. 相比<code>Memcached</code>它支持存储的类型相对更多<strong>(字符、哈希、集合、有序集合、列表、GEO)</strong>, <strong>同时Redis是线程安全的</strong>. 2010年3月15日起, Redis的开发工作由VMware主持, 2013年5月开始, Redis的开发由<code>Pivotal</code>赞助. </p>
</blockquote>
</summary>
<category term="Programming" scheme="http://yangbingdong.com/categories/Programming/"/>
<category term="Java" scheme="http://yangbingdong.com/categories/Programming/Java/"/>
<category term="Spring Boot" scheme="http://yangbingdong.com/categories/Programming/Java/Spring-Boot/"/>
<category term="Redis" scheme="http://yangbingdong.com/tags/Redis/"/>
<category term="Spring Boot" scheme="http://yangbingdong.com/tags/Spring-Boot/"/>
</entry>
<entry>
<title>分布式锁的几种实现方式</title>
<link href="http://yangbingdong.com/2018/distribution-lock/"/>
<id>http://yangbingdong.com/2018/distribution-lock/</id>
<published>2018-09-15T09:19:33.000Z</published>
<updated>2020-04-07T10:15:47.010Z</updated>
<summary type="html">
<p><img src="https://oldcdn.yangbingdong.com/img/distribute-lock/distribute-lock-banner.png" alt></p>
<h1 id="Preface"><a href="#Preface" class="headerlink" title="Preface"></a>Preface</h1><blockquote>
<p>在现代互联网, 通常都是伴随着分布式、高并发等, 在某些业务中例如下订单扣减库存, 如果不对库存资源做临界处理, 在并发量大的时候会出现库存不准确的情况. 在单个服务的情况下可以通过Java自带的一些锁对临界资源进行处理, 例如<code>synchronized</code>、<code>Reentrantlock</code>, 甚至是通过无锁技术(比如<code>RangeBuffer</code>)都可以实现同一个JVM内的锁. But, 在<strong>能够弹性伸缩的分布式环境</strong>下, Java内置的锁显然不能够满足需求, 需要借助外部进程实现分布式锁. </p>
</blockquote>
</summary>
<category term="Programming" scheme="http://yangbingdong.com/categories/Programming/"/>
<category term="Java" scheme="http://yangbingdong.com/categories/Programming/Java/"/>
<category term="Java" scheme="http://yangbingdong.com/tags/Java/"/>
<category term="Redis" scheme="http://yangbingdong.com/tags/Redis/"/>
<category term="Zookeeper" scheme="http://yangbingdong.com/tags/Zookeeper/"/>
<category term="Spring Boot" scheme="http://yangbingdong.com/tags/Spring-Boot/"/>
<category term="Spring" scheme="http://yangbingdong.com/tags/Spring/"/>
</entry>
<entry>
<title>Spring Boot学习之测试篇</title>
<link href="http://yangbingdong.com/2018/spring-boot-learning-testing/"/>
<id>http://yangbingdong.com/2018/spring-boot-learning-testing/</id>
<published>2018-08-28T02:16:40.000Z</published>
<updated>2020-12-03T09:57:10.009Z</updated>
<summary type="html">
<p><img src="https://oldcdn.yangbingdong.com/img/spring-boot-testing/java-testing.png" alt></p>
<h1 id="Preface"><a href="#Preface" class="headerlink" title="Preface"></a>Preface</h1><blockquote>
<p>测试已经是贯穿我们程序员的日常开发流程了, 无论写个main方法, 还是使用测试框架Junit、AssertJ, 或者压测, 都是我们日常开发的一部分. 也有很多互联网公司推崇TDD(测试驱动开发)的. </p>
<p>下面主要介绍<code>AssertJ</code>、<code>JMH</code>、<code>Gatling</code>以及<code>ContPerf</code>. </p>
</blockquote>
</summary>
<category term="Programming" scheme="http://yangbingdong.com/categories/Programming/"/>
<category term="Java" scheme="http://yangbingdong.com/categories/Programming/Java/"/>
<category term="Spring Boot" scheme="http://yangbingdong.com/categories/Programming/Java/Spring-Boot/"/>
<category term="Java" scheme="http://yangbingdong.com/tags/Java/"/>
<category term="Spring Boot" scheme="http://yangbingdong.com/tags/Spring-Boot/"/>
<category term="AssertJ" scheme="http://yangbingdong.com/tags/AssertJ/"/>
<category term="JMH" scheme="http://yangbingdong.com/tags/JMH/"/>
<category term="Gatling" scheme="http://yangbingdong.com/tags/Gatling/"/>
<category term="ContPerf" scheme="http://yangbingdong.com/tags/ContPerf/"/>
</entry>
<entry>
<title>设计模式之创建型(Creational)</title>
<link href="http://yangbingdong.com/2018/design-pattern-creational/"/>
<id>http://yangbingdong.com/2018/design-pattern-creational/</id>
<published>2018-07-12T06:34:52.000Z</published>
<updated>2020-04-07T10:15:47.010Z</updated>
<summary type="html">
<p><img src="https://oldcdn.yangbingdong.com/img/design-pattern/design-pattern-creation.jpg" alt></p>
<h1 id="Preface"><a href="#Preface" class="headerlink" title="Preface"></a>Preface</h1><blockquote>
<p>创建型模式(<code>Creational Pattern</code>)对类的实例化过程进行了抽象, 能够将软件模块中对象的创建和对象的使用分离. 为了使软件的结构更加清晰, 外界对于这些对象只需要知道它们共同的接口, 而不清楚其具体的实现细节, 使整个系统的设计更加符合单一职责原则. </p>
<p>创建型模式在创建什么(What), 由谁创建(Who), 何时创建(When)等方面都为软件设计者提供了尽可能大的灵活性. 创建型模式隐藏了类的实例的创建细节, 通过隐藏对象如何被创建和组合在一起达到使整个系统独立的目的. </p>
</blockquote>
</summary>
<category term="Programming" scheme="http://yangbingdong.com/categories/Programming/"/>
<category term="Java" scheme="http://yangbingdong.com/categories/Programming/Java/"/>
<category term="Design Pattern" scheme="http://yangbingdong.com/categories/Programming/Java/Design-Pattern/"/>
<category term="Java" scheme="http://yangbingdong.com/tags/Java/"/>
<category term="Design Pattern" scheme="http://yangbingdong.com/tags/Design-Pattern/"/>
</entry>
<entry>
<title>Spring Cloud Stack Learning</title>
<link href="http://yangbingdong.com/2018/spring-cloud-stack-learning/"/>
<id>http://yangbingdong.com/2018/spring-cloud-stack-learning/</id>
<published>2018-06-09T08:55:08.000Z</published>
<updated>2020-04-07T10:15:47.014Z</updated>
<summary type="html">
<p><img src="https://oldcdn.yangbingdong.com/img/spring-cloud-docker-integration/spring-cloud-stack.jpg" alt></p>
<h1 id="Preface"><a href="#Preface" class="headerlink" title="Preface"></a>Preface</h1><blockquote>
<p>Spring Cloud 是一系列框架的有序集合. 它利用 Spring Boot 的开发便利性巧妙地简化了分布式系统基础设施的开发, 如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等, 都可以用 Spring Boot 的开发风格做到一键启动和部署. Spring 并没有重复制造轮子, 它只是将目前各家公司开发的比较成熟、经得起实际考验的服务框架组合起来, 通过 Spring Boot 风格进行再封装屏蔽掉了复杂的配置和实现原理, 最终给开发者留出了一套简单易懂、易部署和易维护的分布式系统开发工具包. </p>
<p>至于各种框架组件的相关概念以及入门教程网上一大把, 此篇博文主要记录个人在使用Spring Cloud构建微服务的一些配置以及踩坑…</p>
<p>集成Docker部分请看 <strong><em><a href="/2018/spring-boot-docker-elk/">Spring Boot Docker Integration</a></em></strong></p>
</blockquote>
</summary>
<category term="Programming" scheme="http://yangbingdong.com/categories/Programming/"/>
<category term="Java" scheme="http://yangbingdong.com/categories/Programming/Java/"/>
<category term="Spring Cloud" scheme="http://yangbingdong.com/categories/Programming/Java/Spring-Cloud/"/>
<category term="Java" scheme="http://yangbingdong.com/tags/Java/"/>
<category term="Spring Cloud" scheme="http://yangbingdong.com/tags/Spring-Cloud/"/>
</entry>
<entry>
<title>Spring Boot应用集成Docker并结合Log4j2、Kafka、ELK管理Docker日志</title>
<link href="http://yangbingdong.com/2018/spring-boot-docker-elk/"/>
<id>http://yangbingdong.com/2018/spring-boot-docker-elk/</id>
<published>2018-04-02T05:00:19.000Z</published>
<updated>2020-07-20T05:42:01.746Z</updated>
<summary type="html">
<p><img src="https://oldcdn.yangbingdong.com/img/spring-cloud-docker-integration/java-docker.png" alt></p>
<h1 id="Preface"><a href="#Preface" class="headerlink" title="Preface"></a>Preface</h1><blockquote>
<p>微服务架构下, 微服务在带来良好的设计和架构理念的同时, 也带来了运维上的额外复杂性, 尤其是在服务部署和服务监控上. 单体应用是集中式的, 就一个单体跑在一起, 部署和管理的时候非常简单, 而微服务是一个网状分布的, 有很多服务需要维护和管理, 对它进行部署和维护的时候则比较复杂. 集成Docker之后, 我们可以很方便地部署以及编排服务, ELK的集中式日志管理可以让我们很方便地聚合Docker日志. </p>
</blockquote>
</summary>
<category term="Programming" scheme="http://yangbingdong.com/categories/Programming/"/>
<category term="Java" scheme="http://yangbingdong.com/categories/Programming/Java/"/>
<category term="Spring Boot" scheme="http://yangbingdong.com/categories/Programming/Java/Spring-Boot/"/>
<category term="Java" scheme="http://yangbingdong.com/tags/Java/"/>
<category term="Spring Boot" scheme="http://yangbingdong.com/tags/Spring-Boot/"/>
<category term="Spring" scheme="http://yangbingdong.com/tags/Spring/"/>
<category term="Docker" scheme="http://yangbingdong.com/tags/Docker/"/>
<category term="Elasticsearch" scheme="http://yangbingdong.com/tags/Elasticsearch/"/>
</entry>
<entry>
<title>转载—自己动手写区块链</title>
<link href="http://yangbingdong.com/2018/write-your-own-blockchain/"/>
<id>http://yangbingdong.com/2018/write-your-own-blockchain/</id>
<published>2018-03-05T09:38:08.000Z</published>
<updated>2020-04-07T10:15:47.018Z</updated>
<summary type="html">
<p><img src="https://oldcdn.yangbingdong.com/img/blockchain/blockchain.jpg" alt></p>
<h1 id="Preface"><a href="#Preface" class="headerlink" title="Preface"></a>Preface</h1><blockquote>
<p><strong>区块链</strong>(英语: blockchain 或 block chain)是用<a href="https://zh.wikipedia.org/wiki/%E5%88%86%E5%B8%83%E5%BC%8F%E6%95%B0%E6%8D%AE%E5%BA%93" rel="external nofollow noopener noreferrer" target="_blank">分布式数据库</a>识别、传播和记载信息的智能化<a href="https://zh.wikipedia.org/wiki/%E5%AF%B9%E7%AD%89%E7%BD%91%E7%BB%9C" rel="external nofollow noopener noreferrer" target="_blank">对等网络</a>, 也称为价值互联网. <a href="https://zh.wikipedia.org/wiki/%E4%B8%AD%E6%9C%AC%E8%81%AA" rel="external nofollow noopener noreferrer" target="_blank">中本聪</a>在2008年, 于《<a href="https://zh.wikipedia.org/wiki/%E6%AF%94%E7%89%B9%E5%B8%81" rel="external nofollow noopener noreferrer" target="_blank">比特币</a>白皮书》中提出“区块链”概念, 并在2009年创立了<a href="https://zh.wikipedia.org/w/index.php?title=%E6%AF%94%E7%89%B9%E5%B8%81%E7%A4%BE%E4%BC%9A%E7%BD%91%E7%BB%9C&amp;action=edit&amp;redlink=1" rel="external nofollow noopener noreferrer" target="_blank">比特币社会网络</a>, 开发出第一个区块, 即“创世区块”. </p>
<p>区块链共享价值体系首先被众多的<a href="https://zh.wikipedia.org/wiki/%E5%8A%A0%E5%AF%86%E8%B2%A8%E5%B9%A3" rel="external nofollow noopener noreferrer" target="_blank">加密货币</a>效仿, 并在<a href="https://zh.wikipedia.org/wiki/%E5%B7%A5%E4%BD%9C%E9%87%8F%E8%AD%89%E6%98%8E" rel="external nofollow noopener noreferrer" target="_blank">工作量证明</a>上和算法上进行了改进, 如采用<a href="https://zh.wikipedia.org/wiki/%E6%9D%83%E7%9B%8A%E8%AF%81%E6%98%8E" rel="external nofollow noopener noreferrer" target="_blank">权益证明</a>和<a href="https://zh.wikipedia.org/w/index.php?title=SCrypt%E7%AE%97%E6%B3%95&amp;action=edit&amp;redlink=1" rel="external nofollow noopener noreferrer" target="_blank">SCrypt算法</a>. 随后, 区块链生态系统在全球不断进化, 出现了<a href="https://zh.wikipedia.org/wiki/%E9%A6%96%E6%AC%A1%E4%BB%A3%E5%B8%81%E5%8F%91%E5%94%AE" rel="external nofollow noopener noreferrer" target="_blank">首次代币发售</a>ICO;智能合约区块链<a href="https://zh.wikipedia.org/wiki/%E4%BB%A5%E5%A4%AA%E5%9D%8A" rel="external nofollow noopener noreferrer" target="_blank">以太坊</a>;“轻所有权、重使用权”的资产代币化<a href="https://zh.wikipedia.org/wiki/%E5%85%B1%E4%BA%AB%E7%B6%93%E6%BF%9F" rel="external nofollow noopener noreferrer" target="_blank">共享经济</a>; 和<a href="https://zh.wikipedia.org/w/index.php?title=%E5%8C%BA%E5%9D%97%E9%93%BE%E5%9B%BD%E5%AE%B6&amp;action=edit&amp;redlink=1" rel="external nofollow noopener noreferrer" target="_blank">区块链国家</a>. 目前, 人们正在利用这一共享价值体系, 在各行各业开发去中心化电脑程序(Decentralized applications, Dapp), 在全球各地构建<a href="https://zh.wikipedia.org/w/index.php?title=%E5%8E%BB%E4%B8%AD%E5%BF%83%E5%8C%96%E8%87%AA%E4%B8%BB%E7%BB%84%E7%BB%87&amp;action=edit&amp;redlink=1" rel="external nofollow noopener noreferrer" target="_blank">去中心化自主组织</a>和去中心化自主社区(Decentralized autonomous society, DAS). </p>
<p>——来自维基百科</p>
</blockquote>
</summary>
<category term="Programming" scheme="http://yangbingdong.com/categories/Programming/"/>
<category term="Java" scheme="http://yangbingdong.com/categories/Programming/Java/"/>
<category term="Java" scheme="http://yangbingdong.com/tags/Java/"/>
<category term="Blockchain" scheme="http://yangbingdong.com/tags/Blockchain/"/>
</entry>
<entry>
<title>Spring Boot学习之MVC与Validation</title>
<link href="http://yangbingdong.com/2018/spring-boot-mvc-validation/"/>
<id>http://yangbingdong.com/2018/spring-boot-mvc-validation/</id>
<published>2018-02-26T08:30:58.000Z</published>
<updated>2020-07-20T05:56:22.871Z</updated>
<summary type="html">
<p><img src="https://oldcdn.yangbingdong.com/img/spring-boot-learning/spring-boot.png" alt></p>
<h1 id="Preface"><a href="#Preface" class="headerlink" title="Preface"></a>Preface</h1><blockquote>
<p>此篇大部分是对Spring MVC的一个回顾以及JSR303中bean validation规范的学习</p>
</blockquote>
</summary>
<category term="Programming" scheme="http://yangbingdong.com/categories/Programming/"/>
<category term="Java" scheme="http://yangbingdong.com/categories/Programming/Java/"/>
<category term="Spring Boot" scheme="http://yangbingdong.com/categories/Programming/Java/Spring-Boot/"/>
<category term="Java" scheme="http://yangbingdong.com/tags/Java/"/>
<category term="Spring Boot" scheme="http://yangbingdong.com/tags/Spring-Boot/"/>
<category term="Spring" scheme="http://yangbingdong.com/tags/Spring/"/>
</entry>
<entry>
<title>Spring Boot学习之杂记篇</title>
<link href="http://yangbingdong.com/2018/spring-boot-learning-hodgepodge/"/>
<id>http://yangbingdong.com/2018/spring-boot-learning-hodgepodge/</id>
<published>2018-02-25T07:25:35.000Z</published>
<updated>2020-07-29T11:04:39.930Z</updated>
<summary type="html">
<p><img src="https://oldcdn.yangbingdong.com/img/spring-boot-learning/spring-boot.png" alt></p>
<h1 id="Preface"><a href="#Preface" class="headerlink" title="Preface"></a>Preface</h1><blockquote>
<p>Spring Boot作为当下最流行的微服务项目构建基础, 有的时候我们根本不需要额外的配置就能够干很多的事情, 这得益于它的一个核心理念: “习惯优于配置”. . . </p>
<p>说白的就是大部分的配置都已经按照<del>最佳实践</del>的编程规范配置好了</p>
<p>本文基于 Spring Boot 2的学习杂记, 还是与1.X版本还是有一定区别的</p>
</blockquote>
</summary>
<category term="Programming" scheme="http://yangbingdong.com/categories/Programming/"/>
<category term="Java" scheme="http://yangbingdong.com/categories/Programming/Java/"/>
<category term="Spring Boot" scheme="http://yangbingdong.com/categories/Programming/Java/Spring-Boot/"/>
<category term="Java" scheme="http://yangbingdong.com/tags/Java/"/>
<category term="Spring Boot" scheme="http://yangbingdong.com/tags/Spring-Boot/"/>
<category term="Spring" scheme="http://yangbingdong.com/tags/Spring/"/>
</entry>
<entry>
<title>MySQL 杂谈</title>
<link href="http://yangbingdong.com/2018/mysql-related-learning/"/>
<id>http://yangbingdong.com/2018/mysql-related-learning/</id>
<published>2018-02-16T07:16:18.000Z</published>
<updated>2020-08-27T12:58:13.319Z</updated>
<summary type="html">
<p><img src="https://oldcdn.yangbingdong.com/img/mysql-related-learning/MySQL.png" alt></p>
<h1 id="Preface"><a href="#Preface" class="headerlink" title="Preface"></a>Preface</h1><blockquote>
<p>MySQL 是一款开源的关系型数据库, 也是使用最广泛的数据库之一, 作为开发人员, 很有必要理解以及学习 MySQL 的一些相关知识.</p>
</blockquote>
</summary>
<category term="MySQL" scheme="http://yangbingdong.com/categories/MySQL/"/>
<category term="MySQL" scheme="http://yangbingdong.com/tags/MySQL/"/>
</entry>
<entry>
<title>极致的追求, 高性能并发框架 Disruptor</title>
<link href="http://yangbingdong.com/2018/disruptor-learning/"/>
<id>http://yangbingdong.com/2018/disruptor-learning/</id>
<published>2018-02-05T07:52:51.000Z</published>
<updated>2020-04-07T10:15:47.010Z</updated>
<summary type="html">
<p><img src="https://oldcdn.yangbingdong.com/img/disruptor-learning/Models.png" alt></p>
<h1 id="Preface"><a href="#Preface" class="headerlink" title="Preface"></a>Preface</h1><blockquote>
<p><a href="https://lmax-exchange.github.io/disruptor/" rel="external nofollow noopener noreferrer" target="_blank">Disruptor</a>是英国外汇交易公司LMAX开发的一个高性能队列, 研发的初衷是<strong>解决内存队列的延迟问题</strong>(在性能测试中发现竟然与I/O操作处于同样的数量级). 基于Disruptor开发的系统单线程能支撑<strong>每秒600万订单</strong>, 2010年在QCon演讲后, 获得了业界关注. 2011年, 企业应用软件专家Martin Fowler专门撰写长文介绍. 同年它还获得了Oracle官方的Duke大奖. 目前, 包括<strong>Apache Storm</strong>、<strong>Camel</strong>、<strong>Log4j2</strong>、<strong>Reactor</strong>在内的很多知名项目都应用或参考了Disruptor以获取高性能. </p>
<p>其实Disruptor与其说是一个框架, 不如说是一种设计思路, 这个设计思路对于存在“并发、缓冲区、生产者—消费者模型、事务处理”这些元素的程序来说, Disruptor提出了一种大幅提升性能(TPS)的方案. </p>
<p>听说小米也是用这个东东把亚马逊搞挂了: <a href="http://bbs.xiaomi.cn/t-13417592" rel="external nofollow noopener noreferrer" target="_blank">http://bbs.xiaomi.cn/t-13417592</a></p>
</blockquote>
</summary>
<category term="Programming" scheme="http://yangbingdong.com/categories/Programming/"/>
<category term="Java" scheme="http://yangbingdong.com/categories/Programming/Java/"/>
<category term="Java" scheme="http://yangbingdong.com/tags/Java/"/>
<category term="Disruptor" scheme="http://yangbingdong.com/tags/Disruptor/"/>
</entry>
<entry>
<title>关于微服务的一些调研零散笔记</title>
<link href="http://yangbingdong.com/2018/micro-service-ddd-notice/"/>
<id>http://yangbingdong.com/2018/micro-service-ddd-notice/</id>
<published>2018-01-02T08:59:14.000Z</published>
<updated>2020-04-07T10:15:47.010Z</updated>
<summary type="html">
<p><img src="https://oldcdn.yangbingdong.com/img/micro-service/microservice.png" alt></p>
<h1 id="Preface"><a href="#Preface" class="headerlink" title="Preface"></a>Preface</h1><blockquote>
<p><em><a href="https://zh.wikipedia.org/zh-cn/%E5%BE%AE%E6%9C%8D%E5%8B%99" rel="external nofollow noopener noreferrer" target="_blank">微服务架构</a></em>:<br><strong>微服务</strong> (Microservices) 是一种软件架构风格 (Software Architecture Style), 它是以专注于单一责任与功能的小型功能区块 (Small Building Blocks) 为基础, 利用模组化的方式组合出复杂的大型应用程序, 各功能区块使用与<strong>语言无关</strong> (Language-Independent/Language agnostic) 的 <strong>API 集相互通讯</strong>. </p>
</blockquote>
<blockquote>
<p><strong>不拆分存储的微服务是伪服务</strong>: 在实践中, 我们常常见到一种架构, 后端存储是全部和在一个数据库中, 仅仅把前端的业务逻辑拆分到不同的服务进程中, 本质上和一个Monolithic一样, 只是把模块之间的进程内调用改为进程间调用, 这种切分不可取, 违反了分布式第一原则, <strong>模块耦合没有解决</strong>, <strong>性能却受到了影响</strong>. </p>
</blockquote>
</summary>
<category term="Programming" scheme="http://yangbingdong.com/categories/Programming/"/>
<category term="Java" scheme="http://yangbingdong.com/categories/Programming/Java/"/>
<category term="Java" scheme="http://yangbingdong.com/tags/Java/"/>
</entry>
<entry>
<title>Docker可视化与管理工具</title>
<link href="http://yangbingdong.com/2018/docker-visual-management-and-orchestrate-tools/"/>
<id>http://yangbingdong.com/2018/docker-visual-management-and-orchestrate-tools/</id>
<published>2018-01-02T04:57:52.000Z</published>
<updated>2020-04-07T10:15:47.010Z</updated>
<summary type="html">
<p><img src="https://oldcdn.yangbingdong.com/img/docker-visual-management-and-orchestrate-tools/docker-managerment.png" alt></p>
<h1 id="Preface"><a href="#Preface" class="headerlink" title="Preface"></a>Preface</h1><blockquote>
<p>在学习了Docker的基本操作之后, 接下来就是Docker的管理部分了, 这包括Docker的可视化管理以及集群管理. </p>
<p>此篇主要记录Docker私有库的搭建, Docker编排工具的介绍以及使用, 可视化管理工具的介绍以及搭建…</p>
</blockquote>
</summary>
<category term="Docker" scheme="http://yangbingdong.com/categories/Docker/"/>
<category term="Docker" scheme="http://yangbingdong.com/tags/Docker/"/>
<category term="Swarm" scheme="http://yangbingdong.com/tags/Swarm/"/>
</entry>
<entry>
<title>使用 Reactor 进行反应式编程</title>
<link href="http://yangbingdong.com/2017/with-reactor-response-encode/"/>
<id>http://yangbingdong.com/2017/with-reactor-response-encode/</id>
<published>2017-11-30T00:55:12.000Z</published>
<updated>2020-04-07T10:15:47.018Z</updated>
<summary type="html">
<p><img src="https://oldcdn.yangbingdong.com/img/with-reactor-response-encode/reactor.png" alt></p>
<h1 id="Preface"><a href="#Preface" class="headerlink" title="Preface"></a>Preface</h1><blockquote>
<p>反应式编程(<code>Reactive Programming</code>)这种新的编程范式越来越受到开发人员的欢迎. 在 Java 社区中比较流行的是 <code>RxJava</code> 和 <code>RxJava 2</code>. 本篇要介绍的是另外一个新的反应式编程库 <em><a href="https://github.com/reactor/reactor" rel="external nofollow noopener noreferrer" target="_blank">Rea</a><a href="http://projectreactor.io/" rel="external nofollow noopener noreferrer" target="_blank">ctor</a></em>.<br>Reactor 框架是 <strong>Pivotal</strong> 公司(开发 Spring 等技术的公司)开发的, 实现了 <code>Reactive Programming</code> 思想, 符合 <code>Reactive Streams</code> 规范(<code>Reactive Streams</code> 是由 <strong>Netflix</strong>、<strong>TypeSafe</strong>、<strong>Pivotal</strong> 等公司发起的)的一项技术. 其名字有反应堆之意, 反映了其背后的<em>强大的性能</em>. </p>
</blockquote>
</summary>
<category term="Programming" scheme="http://yangbingdong.com/categories/Programming/"/>
<category term="Java" scheme="http://yangbingdong.com/categories/Programming/Java/"/>
<category term="Java" scheme="http://yangbingdong.com/tags/Java/"/>
<category term="Reactor" scheme="http://yangbingdong.com/tags/Reactor/"/>
</entry>
<entry>
<title>Spring5新特征与WebFlux反应式编程</title>
<link href="http://yangbingdong.com/2017/new-in-spring-framework-5/"/>
<id>http://yangbingdong.com/2017/new-in-spring-framework-5/</id>
<published>2017-11-21T23:35:38.000Z</published>
<updated>2020-04-07T10:15:47.010Z</updated>
<summary type="html">
<p><img src="https://oldcdn.yangbingdong.com/img/spring-framework-5/spring-framework-5.png" alt></p>
<h1 id="Preface"><a href="#Preface" class="headerlink" title="Preface"></a>Preface</h1><blockquote>
<p>Spring 5 于 2017 年 9 月发布了通用版本 (<code>GA</code>), 它标志着自 2013 年 12 月以来第一个主要 Spring Framework 版本. 它提供了一些人们期待已久的改进, 还采用了一种全新的编程范例, 以<strong><em><a href="http://www.reactivemanifesto.org/" rel="external nofollow noopener noreferrer" target="_blank">反应式宣言</a></em></strong>中陈述的反应式原则为基础. </p>
<p>这个版本是很长时间以来最令人兴奋的 Spring Framework 版本. Spring 5 兼容 <code>Java™8</code> 和 <code>JDK 9</code>, 它集成了<strong>反应式流</strong>, 以便提供一种颠覆性方法来实现端点和 Web 应用程序开发. </p>
<p>诚然, 反应式编程不仅是此版本的主题, 还是令许多开发人员激动不已的重大特性. 人们对能够针对负载波动进行无缝扩展的灾备和响应式服务的需求在不断增加, Spring 5 很好地满足了这一需求. </p>
<p>本文将全面介绍 Spring 5. 我将介绍 Java SE 8 和 Java EE 7 API 的基准升级、Spring 5 的新反应式编程模型、<a href="https://www.ibm.com/developerworks/library/wa-http2-under-the-hood/index.html" rel="external nofollow noopener noreferrer" target="_blank">HTTP/2</a> 支持, 以及 Spring 通过 <code>Kotlin</code> 对函数式编程的全面支持. 我还会简要介绍测试和性能增强, 最后介绍对 Spring 核心和容器的一般性修订. </p>
</blockquote>
</summary>
<category term="Programming" scheme="http://yangbingdong.com/categories/Programming/"/>
<category term="Java" scheme="http://yangbingdong.com/categories/Programming/Java/"/>
<category term="Java" scheme="http://yangbingdong.com/tags/Java/"/>
<category term="Spring5" scheme="http://yangbingdong.com/tags/Spring5/"/>
</entry>
<entry>
<title>设计模式原则与UML类图</title>
<link href="http://yangbingdong.com/2017/design-pattern-uml-and-six-principle/"/>
<id>http://yangbingdong.com/2017/design-pattern-uml-and-six-principle/</id>
<published>2017-10-18T01:22:07.000Z</published>
<updated>2021-01-05T02:01:06.514Z</updated>
<summary type="html">
<p><img src="https://oldcdn.yangbingdong.com/img/design-pattern-uml-and-six-principle/designpatterns.png" alt></p>
<h1 id="Preface"><a href="#Preface" class="headerlink" title="Preface"></a>Preface</h1><blockquote>
<p><em><a href="https://www.google.co.jp/url?sa=t&amp;rct=j&amp;q=&amp;esrc=s&amp;source=web&amp;cd=1&amp;cad=rja&amp;uact=8&amp;ved=0ahUKEwjyks2QifnWAhVJKo8KHegiD20QFggnMAA&amp;url=https%3A%2F%2Fzh.wikipedia.org%2Fzh-hans%2F%25E8%25AE%25BE%25E8%25AE%25A1%25E6%25A8%25A1%25E5%25BC%258F&amp;usg=AOvVaw0z1ZKodwif8lD1sp_vC9C_" rel="external nofollow noopener noreferrer" target="_blank">设计模式</a></em>, 总的来说, 就是前人踩过无数的坑总结出来的软件设计经验. 在学习设计模式之前, 有必要了解它的一些<strong>规则</strong>以及<strong>建模</strong>.<br><em><a href="https://zh.wikipedia.org/wiki/%E7%BB%9F%E4%B8%80%E5%BB%BA%E6%A8%A1%E8%AF%AD%E8%A8%80" rel="external nofollow noopener noreferrer" target="_blank">UML</a></em>(Unified Modeling Language)又称<strong>统一建模语言</strong>或<strong>标准建模语言</strong>, 是始于1997年一个OMG(Object Management Group)标准, 它是一个支持模型化和软件系统开发的图形化语言, 为软件开发的所有阶段提供模型化和可视化支持, 包括由需求分析到规格, 到构造和配置. </p>
</blockquote>
</summary>
<category term="Programming" scheme="http://yangbingdong.com/categories/Programming/"/>
<category term="Java" scheme="http://yangbingdong.com/categories/Programming/Java/"/>
<category term="Design Pattern" scheme="http://yangbingdong.com/categories/Programming/Java/Design-Pattern/"/>
<category term="Java" scheme="http://yangbingdong.com/tags/Java/"/>
<category term="Design Pattern" scheme="http://yangbingdong.com/tags/Design-Pattern/"/>
</entry>
<entry>
<title>Ubuntu 常用命令</title>
<link href="http://yangbingdong.com/2017/note-of-linux-command/"/>
<id>http://yangbingdong.com/2017/note-of-linux-command/</id>
<published>2017-09-20T10:05:10.000Z</published>
<updated>2020-04-07T10:15:47.014Z</updated>
<summary type="html">
<p><img src="https://oldcdn.yangbingdong.com/img/node-of-ubuntu-command/ubuntu-logo.png" alt></p>
<h1 id="Preface"><a href="#Preface" class="headerlink" title="Preface"></a>Preface</h1><blockquote>
<p>=.= 这里只记录一些个人比较常用到的<a href="https://www.ubuntu.com" rel="external nofollow noopener noreferrer" target="_blank"><em>Ubuntu</em></a>命令</p>