Repository navigation
Expand file tree
/
Copy pathatom.xml
More file actions
1284 lines (1274 loc) · 95.6 KB
/
Copy pathatom.xml
File metadata and controls
1284 lines (1274 loc) · 95.6 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
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">
<id>https://hbuecx.com</id>
<title>白山</title>
<updated>2026-10-18T08:19:28.859Z</updated>
<generator>https://github.com/jpmonette/feed</generator>
<link rel="alternate" href="https://hbuecx.com"/>
<link rel="self" href="https://hbuecx.com/atom.xml"/>
<subtitle>温故而知新。</subtitle>
<logo>https://hbuecx.com/images/avatar.png</logo>
<icon>https://hbuecx.com/favicon.ico</icon>
<rights>All rights reserved 2026, 白山</rights>
<entry>
<title type="html"><![CDATA[我的生存“哲学”的建构与解构]]></title>
<id>https://hbuecx.com/post/wo-de-sheng-cun-zhe-xue-de-jian-gou-yu-jie-gou/</id>
<link href="https://hbuecx.com/post/wo-de-sheng-cun-zhe-xue-de-jian-gou-yu-jie-gou/">
</link>
<updated>2026-07-05T15:04:49.000Z</updated>
<content type="html"><![CDATA[<p>“如何接纳他人无端的指责。”——这是我耗费心血却至今仍未解决的问题。</p>
<h2 id="童年建构期">童年:建构期</h2>
<h3 id="不发表意见">不发表意见</h3>
<p>我在一个团队里面,当团队需要出一个方案解决某个问题,而其他人都没有主意的时候,我提了自己的建议。被接纳并执行后,最后出现了问题导致失败,所有人都责怪我:“还不是因为听了你说的方法才失败的,都怪你!”</p>
<p>正是因为这样,我发现当出现问题时,大家想的不是如何一起解决问题,而是先把这个锅甩出去。明明即使我不存在,这项任务也会以失败告终。而且这个结论不是我一个人就能做的,是事前经过大家的认可度,可最后受难的只有我一个人。这对我来说是一个巨大的打击。</p>
<p>所以在后来,任何时候我要说话之前,我都会先进行分析:</p>
<ol>
<li>这个群体是不是我能够开口说话的地方?</li>
<li>我的话是不是一定有一个完全正确的操作方法和执行路径?任何一点疑问我都会保持沉默。</li>
<li>如果真的失败了,我会不会再次受到无端的指责?</li>
</ol>
<p>只有当满足这三点要求时,我才会发表意见。有任何一条不满足,我都会保持缄默,或者说“我不知道”。这也是一种自我保全的方法。</p>
<h3 id="不提诉求">不提诉求</h3>
<p>有一次,我老妈带我去买鞋。她说我的鞋穿了好几年都没换,想给我买双新的。于是她带我去逛街,走到一家店门口时说要进去看看。我透过玻璃看到里面的装修,就知道这家店一定不便宜。我当时就说:“走吧走吧,别进去了。”但她非要进去看,我拿她没办法,只能跟着一起进去。</p>
<p>逛了没一会儿,她挑了一双,说她喜欢,让我试试。我说我不喜欢,没兴趣,赶紧走吧。她又坚持让我挑个喜欢的。我说算了不挑了,这里很贵,挑了也买不起。她说不行,非得挑。</p>
<p>于是我就想着,也许这一次我能信她,也许挑了之后她真的会买。我就开始认真看店里在卖的鞋子,最后我看中了一双放在窗边的绿色鞋子。我看了一眼价签,六百多。我大概知道她可能不会买,所以我再次请求说:“算了吧,走吧。”但她说不行,一定要拿一双出来。</p>
<p>我把那双六百块的鞋子拿出来后,她让我试试。那一刻我抱了极大的希望,我想既然她都让我试了,如果合适也许她会买的。我说蛮合适的,试完之后准备买下来,一听价格是六百多,她突然就说:“算了,这个不好看,还是换刚刚看的那双吧。”</p>
<p>那一瞬间,我感觉到了绝望。我从一开始就再三强调不要买,因为这里一看就很贵,我也不想挑,就是怕挑好之后又因为贵被拒绝。但她每一次都给我极大的希望,让我选、让我试,试完之后却还是因为价格不满意而拒绝。</p>
<p>那一刻我感觉被戏耍、被侮辱了。我可以接受你最开始就给我一个价格范围,让我在此基础上选择,而不是给予我最美好的憧憬后,再狠狠地一巴掌把我扇醒。</p>
<p>我突然意识到,当我没有独立的决策权和选择权时,我的任何诉求在对方眼里都是无效且无理的。所以后来,我选择一个人处理所有事情,不依赖任何人。</p>
<p>只要你对别人还有依赖,就意味着对方随时可以用痛苦去惩罚你,因为你的决定权全部都存放在别人那里。</p>
<h3 id="不买任何非日常用品">不买任何非日常用品</h3>
<p>除了教科书,我基本不敢向家里要买任何的课外书或者玩具。我儿童时期少有的几个玩具和基本课外书,其中大部分都是我拿自己的生活费换的。可能买了之后,我要少吃很多顿饭,但这也是我无奈的选择。</p>
<p>因为向家里人请求购买这些“不实用”的东西,本身就是一个很困难的事情。即使他们买了,如果我没有每天去看,或者说隔一段时间就去看的话,百分百就会听到一句话:“你看你买了也不看,你买了也不用,你买了也不玩,你买了干什么呢?”</p>
<p>所以后来我在做每一次购买决策之前,都会经过大量的分析:这个东西可能用在哪里?它的使用频率高不高?如果它是一个不发挥任何实际效用、或者频率不算高的东西,我马上就会舍弃掉这个购买需求。</p>
<p>我为自己“明智”的决策感到庆幸,又少挨了一顿指责。</p>
<h3 id="遇事多想几步">遇事多想几步</h3>
<p>有一次家里应该是在修什么东西,我老妈让我去拿扳手,我当时正在写作业。她很大声地喊我,让我去把扳手拿过来。我听到后赶紧答应了一声“好”,然后就去找。</p>
<p>我找了常用的工具抽屉和一些台面,都没有找到。我就去跟老妈说没见到,她非常生气地说:“怎么可能没有呢?一定在那个柜子里面,你再看看柜子上有没有!”她当时那样一喊,肯定把我吓住了。然后我就跟着她去找她说的那个柜子,又回来跟她说没有。我记得我又被她骂了一顿。</p>
<p>我又回去找,但这一次我学聪明了。我在想,是不是因为没听清楚,我找的那个柜子不是她说的那个?于是我把家里所有可能存在的柜子都找了一遍:床头柜、衣柜、工具柜、洗碗柜,还有放在二楼从来没人打开过的柜子,以及所有带“柜”字的家具器材,我全找了一遍,还是没有。</p>
<p>我心想完了,这我怎么知道放哪儿了?我只能战战兢兢地去跟她说:“没有,没找到。”她非常生气,又把我骂了一顿,然后说她自己去找。</p>
<p>我就默默地跟着她。她去找那个柜子,就是我第一次去找的那个柜子。她到处翻,还是没找到。找着找着,她突然停下来了,说:“哦,被我放在房子外面了。”她带我出了屋子,去了外面,在一个台沿上放着她的那个老虎钳。也就是说,不管我在屋里怎么找,我都是不可能找到的。</p>
<p>然后她什么话也没说,拿着老虎钳就回去继续做事了。这事情好像就这么过去了,但是对我来说,我本身正在写作业,有自己的事情,思绪被打断了。然后我还在已经完全执行了指令的情况下,被无端地骂了 N 多次,我的情绪一下子降到了冰点。</p>
<p>从那以后,我不管是听她还是任何人说的话,能录音的我尽量录音,多听几遍,确保我找的地方首先是对的。第二,如果按照她说的地点找了还没找到,或者是按照她说的方案做了还没做到,我还会自己去想自己的办法。也许我稍微变通两下就能找到了。</p>
<p>长此以往,我已经养成了遇到事情自己多想几步,多钻研几步的习惯。甚至有的时候已经超出了自己责任边界的时候,我还是会继续往前,能拱的往前拱几步,也是不希望突然被指责。</p>
<h3 id="集体里不点菜">集体里不点菜</h3>
<p>如果关系还没有到特别特别特别好的情况下,我基本在吃饭的时候不会去点菜。</p>
<p>因为如果试了一道新菜,但这道菜的味道不算特别好,你百分百就会得到一句:“这个菜是你点的啊,你自己吃完。”</p>
<p>如果我没吃完,我还会收获一句:“你不是点这个吗?你就吃完啊,怎么不吃完?浪费!”</p>
<p>所以后来在跟别人一起吃饭时,我基本不点菜。</p>
<p>这项习惯也延续到了我的个人生活里:我基本上不怎么尝试新的食物,除非原来的食物已经彻底吃不下了,不然我就会一直点、一直点,直到有一天我真的完全吃不下去为止。</p>
<p>至今我也无法感受、无法理解那些钟爱尝试不同食物的人的乐趣所在,我从来不敢买自己没吃过的东西。</p>
<h3 id="不参加团队竞技游戏">不参加团队竞技游戏</h3>
<p>我第一次玩一个叫《不倒森林》的游戏。规则是每个人拿一根棍子立在地上,大家围成一个圆圈,听到主持人喊口令后就往前走一步,松开手里的棍子去接前面那个人的。如果所有人的棍子都能稳稳接住不倒,主持人就会发令继续走,哪只队伍能一直坚持下去就是赢家。</p>
<p>我第一次玩这种游戏,放棍子的手还不是很稳,不太理解松手时该怎样让它保持平衡,结果上手第一次棍子就倒了。因为我当时更关注前面那根棍子,也不知道到底是后面的人没接住,还是我松手时带了点力气把棍子带歪了。</p>
<p>紧接着我就听到了其他人的叹气声,还有各种“怎么搞的”、“带得不对”之类的指责。我没办法,只能把棍子立起来继续下一轮。结果后面一个人还是没接住,我又一次受到了大家的指责和批评。</p>
<p>后来我跟前面的人换了一个位置,我已经忘记他有没有接住了,但反正从此之后,我再也不想玩这种团队竞技性游戏了。因为这类游戏对新手完全没有任何包容性,一旦你失败了,会在千分之一秒内受到一堆指责,没有任何容忍度。</p>
<h3 id="远离人群">远离人群</h3>
<p>当我走在人群中,被一个推搡差点绊倒,又被另一个人踩了一跤。但没有一个人为他的行为道歉,他们的脸上挂着毫不在意的傲慢和豪横。</p>
<p>我意识到人群是蛮横的、无理的,所以在往后的生活里面,我都会选择远离人群。</p>
<p>当有人开始聚集的预兆时,我都会预先撤离。因为你不知道在任何一个时间,会不会突然发生一场毫无预兆的恶意;只有远离人群,才能让自己得到最好的保全。</p>
<p>所以遇到那些说哪家店好吃排了很多人,或者说哪个游乐园好玩排了很多人的时候,我的第一判断就是绝对不去这些地方。</p>
<p>恐惧和危险,是我永远在觉察的东西。</p>
<h2 id="独立生活解构期">独立生活:解构期</h2>
<p>当我开始独立生活,开始阅读更多书,调整自己看待事物心态和视角,我开始能原谅所有人,因为我知道自己受过什么样的苦,遭受指责的感觉、被诬陷的感觉、回天无力的感觉……所以我能理解所有人,有些人有苦自己咽,有些人会选择把它发泄到社会里集体中。</p>
<p>但这也仅仅只是在精神领域有一些释然的感觉,但在实际生活中,童年的阴影又始终缠绕着我,束缚着我,让我丝毫不敢尝试可能带来损失的东西。但也许没有这些约束,也成就不了我现在事事用心、事事用心的工作方式,也是这样的工作方式让我能始终收获不错的工作和收入。但即使我能原谅所有人,但还是没能弥补自己在面对无法避免的冲突时的不足。</p>
<p>在过去的这二十几年里,我基本不知道被接纳、被接受是一种什么感觉。我好像总是游走在人群的边缘,与其他人保持着不远不近的距离。</p>
<p>我不希望别人对我有太多的渴望和期待,更不希望他们的期待因为我而落空。我不想面对那些指责,尤其是来自于一些莫名、无端的指责,所以我做任何事情都小心翼翼,这个习惯一直保留到了今天。</p>
<p>但是,随着我在社会生活中经历的越来越多,我发现这种小心翼翼、束手束脚、全方位考虑的心态和处事方法,在我生活在如今掺入更多包容性的社会集体中,没有一套合适的解释。</p>
<p>我不知道这种与童年时期有很多反差的情况,该如何融入到我的生存哲学中去。那些从童年时期开始,为了避免痛苦和被指责而建构的生存经验与生存哲学,如今该何去何从?</p>
<h3 id="堆积如山的衣服">堆积如山的衣服</h3>
<p>我的出租屋里,那把我常坐着办公的椅子上,经常堆着一些比较昂贵但长期没洗的外套。</p>
<p>我之所以不敢去洗,是因为从小到大,只要我弄坏了家里任何东西,他们都会不由分说地把我臭骂一顿。不管是因为环境原因(比如有人在地上泼了水),还是因为我自己的原因,我都会遭到一顿指责。尤其是像这种贵重物品,如果连弄坏一个小且便宜的东西都要受到如此严厉的指责,那弄坏了贵重的东西,我想我能不能活在这个世上都不一定了。</p>
<p>所以我从来不敢碰家里稍微值点钱的东西,即使在成年之后也是如此。虽然我现在收入已经足够充足,买得起一些价格稍高的衣服,但我还是不会主动去买,因为它们的洗涤条件可能比较复杂。这种贵的衣服能不能水洗、能不能手洗、能不能用洗衣粉或洗衣液,我通通不知道。</p>
<p>所以那次我妈让我买这件 700 块钱的薄外套时,我是拒绝的,因为我知道它会给我带来很大的麻烦。但我最后还是买了。这一年里,这件外套我从来没洗过,我不知道怎么洗,也不敢洗。我怕洗坏了会带来更大的问题,如果真的洗褪色了或者洗出一个洞,下次她问起来,我不知道该怎么回答。</p>
<p>于是,这件衣服就一直堆在我的椅子靠背上。我工作的时候就把它抱到床上,等我要睡觉了,就把它从床上拿回靠背上挂着。就这么循环往复,一天又一天。</p>
<h3 id="整理婚礼道具">整理婚礼道具</h3>
<p>6月20日、21日是任架构结婚的日子。在结婚之前,我们需要在酒店帮她布置新房和接亲的房间。她买了很多纸质的窗花、纸球、蝴蝶,还有那种很大的落地纸花。</p>
<p>在帮她跟室友们一起拼接装饰道具时,我表现得非常小心。因为在我的认知里,结婚是一件非常重要的事情,所以接亲的每一个道具、每一件装饰都必须非常仔细,不能弄坏一点点。我深怕引发任何麻烦,做事节奏很慢,始终小心翼翼。</p>
<p>但我观察其他人处理时,感觉就相对简单粗暴很多,效率也确实很高。不过,正如我所料,这种粗放的手法确实引起了问题:新郎的妹妹在处理一朵巨大的落地纸花时,需要拧动连接纸花的钢管来调整摆放角度。她直接用力一拧,导致钢管直接被折弯,成了那种被压平的折角状态。</p>
<p>如果换做是我,心里一定会非常慌张。毕竟这是结婚用的道具,被我弄坏了,大概率会受到严厉的批评、鄙视或嫌弃。</p>
<p>但事实是,现场除了那个妹妹自己有一点内疚外,没有任何人对她表示嫌弃或指责。最终,这盆落地花被放在了一个靠墙的沙发后面,花朵刚好露在沙发上方,而被折弯的管子正好被沙发挡住。因为靠着墙,没人会发现后面管子坏了,一切就这样圆满地解决了。</p>
<p>那些我原本以为是“天大麻烦”的问题,现在看来似乎越来越不成立了。很多事情正跟我以往的经历发生着细微的不同。</p>
<h3 id="把它扔掉还是放回盘里去">把它扔掉还是放回盘里去</h3>
<p>可能是早期受过的批评和指责太多太多,所以在后来的成长生活中,我尽量会保证我做的每一件事情都滴水不漏,不给任何一个人带来任何的麻烦。我这样做是为了避免童年那种能唤起痛苦记忆的指责,否则那种恐惧感马上就会冒出来。</p>
<p>昨天,在大家的一个聚会上,我从烤盘里拿了一个菌菇放到碗里,旁边的人说没熟,让我放回去。按照我过往的经历,这种“放回去”的行为在我的意识里肯定是要被人嫌弃的,所以我说:“算了吧,我把它扔了吧。”</p>
<p>我还没来得及扔,马上就被旁边的人制止了:“这菌菇不还是好的嘛,别矫情,没熟放回去再烤一下不就行了?”</p>
<p>然后我就小心翼翼地把它放回了烤盘的最边缘,保证它不会接触到烤盘里其他任何的食材。然后另一个人毫不介意地用他的筷子,把它夹起来放到火势更大的那一边。等它烤好了,他又把它夹起来放进我的碗里。</p>
<p>这一次我感受到的是,我没有被嫌弃,也没有被排除在集体之外。这跟我以前遭遇过的种种境况完全不同,导致我不知道该怎么处理这种与过往经验冲突的情况,只能淡淡地说一声谢谢。</p>
<p>我不知道这到底是好还是不好。我是指,它对我原来那种标准、规则化的处理逻辑产生了冲击。因为按照往常的逻辑,最直接的答案就是直接扔掉,不给任何人添麻烦。</p>
<p>但是当这种新的选择出现时,我开始迷茫了。当一个问题有了两个答案,那么下次遇到相同情况的时候,我应该采用哪一个?</p>
<p>我完全没有学过该如何把控这其中的分寸。</p>
<h3 id="我为什么不谈恋爱">我为什么不谈恋爱</h3>
<p>我恐惧。</p>
<p>一个人的生活,我可以对自己的独立空间拥有完全的决策权和处理权。我小心翼翼地保护好每一个东西,即使偶尔会有一些破坏时刻(比如不小心摔坏一个碗),那也只是我一个人的东西,不会有其他人感知到,所以我不会受到任何的指责。</p>
<p>一个人的生活,我可以买我想买的无人机、相机,没有人知道我有没有使用,我的使用频率有多高。相机我是常用的,但是无人机常年吃灰,但也没有人在我旁边盯着我审判我,我感觉心理稍微轻松一些。我感觉自己越来越爱上这种独自生活的感觉了。</p>
<p>但是,如果要谈恋爱或者结婚,有另外一个人存在于我的空间里面,就意味着我要随时随地面临另一个人的指责,给我带来情绪损耗。</p>
<p>这种恐惧,要胜过有另外一个人陪我度过美好时光的渴望和期盼。要被另一个人完全的接纳,我不知道这到底是一件多难的事情,我至今也没有感受到过。</p>
<h2 id="选择面对">选择面对</h2>
<p>当现存的、越来越多的与过往有很大差异的情况发生时,我在想,这或许是一个很好的开端,让我可以从完全束缚的一种状态里慢慢地解脱。</p>
<p>可能不是解脱,是挣扎出去。起码这些被接纳的感觉,让我有了勇气可以往外走,一步步往外走。</p>
<p>在往外走、向外探索交际,去尝试更多主张自己权益而不是一味退缩的过程中,肯定还是会继续遭受一些指责的。</p>
<p>我该以什么样的心态来看待和处理这种问题呢?</p>
<p>我不知道答案是什么,但我还是会在有机会的情况下继续探索。因为我非常清楚地意识到,如果我继续被这种害怕被指责的恐惧包围,我永远不可能让自己变成理想中那个自信又成熟的样子。</p>
<p>我必须要解决困住我的所有庞大的问题。</p>
]]></content>
</entry>
<entry>
<title type="html"><![CDATA[Claude Code 注册与使用]]></title>
<id>https://hbuecx.com/post/claude-code-zhu-ce-yu-shi-yong/</id>
<link href="https://hbuecx.com/post/claude-code-zhu-ce-yu-shi-yong/">
</link>
<updated>2026-04-17T13:44:45.000Z</updated>
<summary type="html"><![CDATA[<p>国内注册和使用 Claude Code 教程。</p>
]]></summary>
<content type="html"><![CDATA[<p>国内注册和使用 Claude Code 教程。</p>
<!-- more -->
<h1 id="一-claude-code-前置知识">一、Claude Code 前置知识</h1>
<h2 id="11-中转-api-的风险提示">1.1 中转 API 的风险提示</h2>
<p>中转 API 看似便宜 30~50%,但需要注意:</p>
<ul>
<li>💀 稳定性不确定:部分中转是逆向批量注册账号转售,平台一调整就可能中断</li>
<li>🔓 数据经第三方:你的代码经过中转服务器,需自行评估安全性</li>
<li>❌ 独家功能不可用:WebSearch、Chrome 控制、Remote Control 等官方独占功能无法使用</li>
<li>⚠️ 服务条款风险:部分中转方式可能违反模型厂商的服务条款</li>
</ul>
<p>如果选择中转/聚合方案,建议优先考虑有企业背景、透明计费的平台(如 ZenMux、AI Code With 等),降低跑路风险。</p>
<h2 id="12-官方订阅独享的能力">1.2 官方订阅独享的能力 🎁</h2>
<p>如果你选择了 Claude 官方订阅(尤其是 Max),除了模型能力本身,还有一些中转和国产替代目前无法提供的能力:</p>
<table>
<thead>
<tr>
<th>能力</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td>WebSearch</td>
<td>Claude Code 直接联网搜索最新文档、Stack Overflow、GitHub Issues,无需手动开浏览器</td>
</tr>
<tr>
<td>Chrome 控制</td>
<td><code>claude --chrome</code> 操控浏览器:点击、填表、读控制台、录屏 GIF,前端调试神器</td>
</tr>
<tr>
<td>Remote Control</td>
<td>手机扫码远程控制 Claude Code 会话,开会也能盯进度(Max 专属)</td>
</tr>
<tr>
<td>Imagine with Claude</td>
<td>一键生成可交互的软件原型(Max 专属)</td>
</tr>
<tr>
<td>⚡ 优先队列</td>
<td>高峰期不排队,响应更快</td>
</tr>
<tr>
<td>新模型抢先</td>
<td>第一时间体验最新模型</td>
</tr>
</tbody>
</table>
<p>光一个 WebSearch 就挺实用 —— 以前写代码遇到问题要 Claude ↔ 浏览器来回切,现在直接说“帮我搜一下 xxx 的最新用法”就搞定了 ✨<br>
(ps: 国产模型的 Coding Plan 也开始提供类似能力...)</p>
<h2 id="13-结论">1.3 结论</h2>
<p>没有完美的方案,只有适合自己的选择。<br>
预算充足且需要官方独占功能(WebSearch/Chrome/RC),Claude Max 5x 综合体验确实很好;<br>
追求性价比和国内直连,阿里云/火山方舟 Coding Plan 首月几块钱就能上手试试;<br>
建议先用低成本方案试试手,找到适合自己的再加大投入 💪</p>
<hr>
<h1 id="二-网络配置代理设置">二、网络配置:代理设置 🌐</h1>
<h2 id="21-为什么需要代理">2.1 为什么需要代理?</h2>
<p>Claude 对中国大陆 IP 有地区限制,直连会被拒绝 🙅♂️<br>
我们需要通过代理将出口 IP 切换到美国。</p>
<h2 id="22-配置步骤">2.2 配置步骤</h2>
<p>开启代理,从注册到使用过程全程都要科学上网,并且要保障节点稳定性,不要随意切换代理 IP。</p>
<h2 id="23-终端代理配置两种方式">2.3 终端代理配置(两种方式)</h2>
<p>代理开启后,还需要让 Claude Code 的流量也走代理。这里提供两种配置方式:</p>
<h3 id="方式一通过-claude-code-settingsjson-配置推荐">方式一:通过 Claude Code settings.json 配置(推荐 ⭐)</h3>
<p>编辑 <code>~/.claude/settings.json</code>,在 <code>env</code> 字段中配置代理:</p>
<pre><code class="language-json">{
"env": {
"HTTPS_PROXY": "http://127.0.0.1:你的端口",
"HTTP_PROXY": "http://127.0.0.1:你的端口"
}
}
</code></pre>
<p>这种方式的好处:只对 Claude Code 生效,不影响终端其他命令。配一次永久生效,不用每次 source。</p>
<h3 id="方式二通过-shell-环境变量配置">方式二:通过 shell 环境变量配置</h3>
<p>在 <code>~/.zshrc</code>(或 <code>~/.bashrc</code>)中添加:</p>
<pre><code class="language-bash"># 将端口替换为你实际的代理端口
export https_proxy=http://127.0.0.1:你的端口
export http_proxy=http://127.0.0.1:你的端口
export all_proxy=socks5://127.0.0.1:你的端口
</code></pre>
<p>保存后执行 <code>source ~/.zshrc</code> 生效。这种方式对终端所有命令都生效。</p>
<h3 id="如何确认代理端口">如何确认代理端口?</h3>
<p>在终端执行:</p>
<pre><code class="language-bash"># macOS 查看系统代理设置
scutil --proxy | grep -E "HTTPPort|SOCKSPort"
# 或者查看代理进程监听的端口
lsof -i -P | grep LISTEN | grep -E "7890|1087|1080|8080|13659"
</code></pre>
<h3 id="验证代理是否生效">验证代理是否生效 ✅</h3>
<pre><code class="language-bash">curl -s https://ipinfo.io/json | python3 -m json.tool
</code></pre>
<blockquote>
<p>如果使用 方式一 配置,只能在 claude 命令输入框里输入检测,如果是方式二任意命令行工具或者访问 <a href="https://whatismyipaddress.com/">https://whatismyipaddress.com/</a>都可以</p>
</blockquote>
<p>确认 <code>city</code> 和 <code>country</code> 是代理地区(比如美国)就对了 🎉</p>
<p>⚠️ 核心原则:<strong>注册、购买、登录、日常使用,全程保持同一个代理</strong>。<br>
IP 频繁变动是封号的头号原因 ☠️</p>
<hr>
<h1 id="三-账号注册">三、账号注册 📝</h1>
<h2 id="31-注册前准备清单">3.1 注册前准备清单</h2>
<ul>
<li>✅ 代理已开启,节点在 USA</li>
<li>✅ 一个可用的邮箱(Gmail 推荐)</li>
<li>✅ 海外手机号用于接收验证短信(下面教你怎么搞 👇)</li>
</ul>
<h2 id="32-用-hero-sms-接收验证短信">3.2 用 Hero SMS 接收验证短信</h2>
<p>Claude 注册需要海外手机号验证,国内号码不行 🙅<br>
推荐使用接码平台 Hero SMS:</p>
<ol>
<li>访问 <a href="https://hero-sms.com/cn/services">https://hero-sms.com/cn/services</a></li>
<li>注册账号并充值(支持支付宝 💰)</li>
<li>在服务列表搜索 "Claude" 或 "Anthropic"</li>
<li>选择国家:推荐 🇺🇸 美国 或 🇬🇧 英国</li>
<li>获取临时号码 → 填到 Claude 注册页 → 回 Hero SMS 查看验证码 → 搞定! 🎉</li>
</ol>
<figure data-type="image" tabindex="1"><img src="https://hbuecx.com/post-images/1776435226570.png" alt="" loading="lazy"></figure>
<p>如果出现这种情况,可能是这类号码都被封禁了,可以尝试切换成 🇧🇷巴西 或者 🇸🇬新加坡 的号码。</p>
<h2 id="33-完整注册流程">3.3 完整注册流程</h2>
<ol>
<li>访问 <a href="https://claude.ai">https://claude.ai</a>(确保代理已开)</li>
<li>点击 Sign Up</li>
<li>用 Google 账号或邮箱注册</li>
<li>手机号验证 → 用 Hero SMS 的临时号码</li>
<li>输入验证码,注册完成 ✅</li>
</ol>
<blockquote>
<p>💡 注册完成后建议立即绑定邮箱和设置密码。接码平台号码是临时的,但注册后不需要再次验证,放心~</p>
</blockquote>
<p>如果注册时遇到了此类问题:</p>
<blockquote>
<p>Unfortunately, Claude is not available to new users right now. We’re working hard to expand our availability soon.</p>
</blockquote>
<p>Claude 可能批量把一些邮箱加入了黑名单,尝试更换你的邮箱,建议使用gmail ,就可以跳过这个拦截了。</p>
<hr>
<h1 id="四-订阅购买">四、订阅购买 💳</h1>
<h2 id="41-为什么通过应用商店买">4.1 为什么通过应用商店买?</h2>
<p>国内信用卡直接在官网付款基本会被拒 🚫<br>
需要通过 Google Play 或 Apple Store 的美区账号订阅。</p>
<p>应用商店购买虽然贵一点,但有一个重要优势:</p>
<table>
<thead>
<tr>
<th></th>
<th>官网直购</th>
<th>应用商店购买</th>
</tr>
</thead>
<tbody>
<tr>
<td>支付方式</td>
<td>需要海外信用卡</td>
<td>Gift Card / 信用卡均可</td>
</tr>
<tr>
<td>被封后退款</td>
<td>基本无望 😢</td>
<td>大概率可以申请到退款 🙏</td>
</tr>
</tbody>
</table>
<p>⚠️ 关于退款的说明:通过 Google Play / Apple Store 申请退款属于平台标准退款流程,根据个人经验和社区反馈,大概率能退款成功,但不能 100% 保证。退款结果取决于平台审核,具体以实际申请结果为准。相比之下,官网直购被封后退款的可能性要低得多。多花的 $25~$50 可以理解为降低封号经济损失的风险成本。</p>
<h2 id="42-各套餐应用商店价格">4.2 各套餐应用商店价格</h2>
<table>
<thead>
<tr>
<th>套餐</th>
<th>官网</th>
<th>应用商店</th>
<th>差价</th>
</tr>
</thead>
<tbody>
<tr>
<td>Pro</td>
<td>$20/月</td>
<td>$20/月</td>
<td>无</td>
</tr>
<tr>
<td><strong>Max 5x</strong> ⭐</td>
<td>$100/月</td>
<td>$125/月</td>
<td>+$25</td>
</tr>
<tr>
<td>Max 20x</td>
<td>$200/月</td>
<td>$250/月</td>
<td>+$50</td>
</tr>
</tbody>
</table>
<h2 id="43-方案一google-play-美区推荐">4.3 方案一:Google Play 美区(推荐 👍)</h2>
<ol>
<li>准备美区 Google 账号(注册时地区选美国)</li>
<li>在 Google Play 搜索 "Claude" by Anthropic,下载</li>
<li>添加支付方式:购买 Google Play Gift Card / 绑定信用卡</li>
<li>在 App 内订阅 Max 5x 🎉</li>
</ol>
<h2 id="44-方案二apple-store-美区">4.4 方案二:Apple Store 美区</h2>
<ol>
<li>准备美区 Apple ID(地区选美国,地址用免税州如 Oregon)</li>
<li>在 App Store 搜索 "Claude",下载</li>
<li>购买 Apple Gift Card / 信用卡支付</li>
<li>在 App 内订阅 Max 5x</li>
</ol>
<h2 id="45-关于支付方式gift-card-vs-信用卡">4.5 关于支付方式:Gift Card vs 信用卡</h2>
<p>两种都 OK:</p>
<ul>
<li>Gift Card 🎫:淘宝等平台即可购买,门槛最低</li>
<li>信用卡 💳:有 Visa/Mastercard 等国际卡可以直接绑定</li>
</ul>
<blockquote>
<p>国内发的visa好像不能绑定美区ID(我这里试了几个都失败了),走礼品卡方式比较靠谱。</p>
<p>然后美国部分州是收税的,可能买一个20刀的月订阅,账户余额要在22刀才能完成订阅,不然会提示余额不足。</p>
<p>也有的州不收税,看你的美区ID注册地址。</p>
</blockquote>
<h2 id="46-防封要点">4.6 防封要点</h2>
<ul>
<li>🔒 全程同一代理:注册、购买、使用保持同一个 USA 节点</li>
<li>🚫 不要频繁换区:今天美国明天日本是封号最快的方式 💀</li>
<li>✅ 保持活跃:订阅后正常使用,不要注册后闲置</li>
</ul>
<h2 id="47-同样的方式也能订阅-chatgpt">4.7 同样的方式也能订阅 ChatGPT</h2>
<p>上述流程(美区账号 + Gift Card + App 内订阅)同样适用于 ChatGPT Plus / Pro:</p>
<ul>
<li>操作完全一样,一套流程搞定两个 ✌️</li>
<li>ChatGPT 风控比 Claude 宽松很多,被封概率更低</li>
</ul>
<hr>
<h1 id="五-claude-code-安装与使用-️">五、Claude Code 安装与使用 🛠️</h1>
<h2 id="51-安装">5.1 安装</h2>
<pre><code class="language-bash"># npm 全局安装
npm install -g @anthropic-ai/claude-code
# 验证
claude --version
</code></pre>
<h2 id="52-登录️-关键步骤">5.2 登录(⚠️ 关键步骤)</h2>
<pre><code class="language-bash"># ❗ 如果之前用过 API Key 方式,必须先登出
claude logout
# 用官方订阅账号登录
claude login
# 浏览器会弹出 OAuth 授权页面,确认即可
</code></pre>
<p>⚠️ 重要:之前用 API Key(ANTHROPIC_API_KEY)的同学,<strong>必须先 <code>claude logout</code></strong>。<br>
否则 Claude Code 会继续走 API 扣费,而不是用你的订阅额度,白花钱 💸</p>
<h2 id="53-项目配置claudemd">5.3 项目配置:CLAUDE.md</h2>
<p>在项目根目录创建 <code>CLAUDE.md</code>,让 Claude 了解你的项目约定:</p>
<pre><code class="language-markdown"># Project Guidelines
- 技术栈:TypeScript + React
- 测试:Jest
- 风格:遵循 .eslintrc
- 提交:Conventional Commits
</code></pre>
<p>每次启动 Claude Code 会自动读取,不用重复交代背景~</p>
<h2 id="54-官方订阅独享功能实操">5.4 官方订阅独享功能实操</h2>
<p>这些是买了官方订阅才能用的能力,中转 API 统统没有 😎</p>
<h3 id="websearch-联网搜索">🔍 WebSearch — 联网搜索</h3>
<p>不需要额外配置,直接问就行:</p>
<ul>
<li>“帮我搜一下 React 19 的 useOptimistic 最新用法”</li>
<li>“这个报错在 GitHub Issues 里有没有人遇到过”</li>
</ul>
<p>Claude 会自动联网搜索并整合结果到回答中,再也不用 Claude ↔ 浏览器来回切了 🎉</p>
<h3 id="chrome-浏览器控制">🌐 Chrome 浏览器控制</h3>
<pre><code class="language-bash"># 启动时加 --chrome 参数
claude --chrome
# 或者在会话内输入 /chrome 永久开启
</code></pre>
<p>开启后 Claude 可以:打开网页、点击按钮、填写表单、读取控制台日志、监控网络请求、录制浏览器操作 GIF。前端同学的调试神器 🦸♂️</p>
<blockquote>
<p>💡 需要先安装 Claude in Chrome 扩展。Claude 会共享你的浏览器登录状态,遇到登录页或验证码会暂停让你手动处理。</p>
</blockquote>
<h3 id="remote-control-手机遥控max-专属">📱 Remote Control — 手机遥控(Max 专属)</h3>
<pre><code class="language-bash"># 在会话中执行
claude remote-control
# 或者简写
/rc
</code></pre>
<p>会生成一个二维码,手机扫码即可远程控制当前 Claude Code 会话。适合以下场景:</p>
<ul>
<li>🏢 在工位起了个大任务,去会议室开会也能用手机盯着进度</li>
<li>🛋️ 下班前让 Claude 跑个重构,回家躺沙发上用手机审批改动</li>
<li>📊 同时监控多个 Claude 会话的状态</li>
</ul>
<p>笔记本合盖 / 断网后会自动重连(10 分钟内),非常省心。</p>
<h2 id="55-日常使用技巧">5.5 日常使用技巧</h2>
<ul>
<li>提供充分上下文 — 别说“修个 bug”,要说“src/pages/Home.tsx 用户登录后白屏,报错 xxx” 🎯</li>
<li>先理解再动手 — 复杂任务分两步:先让 Claude 读代码理解架构,再提需求 🧠</li>
<li>善用 Plan Mode — 多文件大改动前,让 Claude 先出方案你审核 📋</li>
<li><code>/commit</code> 自动提交 — 写完代码直接说“提交”,自动生成规范的 commit message ✍️</li>
</ul>
<h2 id="56-推荐配套插件">5.6 推荐配套插件</h2>
<h3 id="claude-hud-实时状态面板强烈推荐">⭐ Claude HUD — 实时状态面板(强烈推荐!)</h3>
<p>GitHub: jarrodwatts/claude-hud(1.8k+ Stars)</p>
<p>在终端底部实时显示:上下文用量、额度消耗百分比、工具活动、子 Agent 追踪、任务进度。装了之后感觉从“盲开”变成“有仪表盘” 🏎️💨</p>
<pre><code class="language-bash">/plugin marketplace add jarrodwatts/claude-code
/plugin install claude-hud
/claude-hud:setup
</code></pre>
<p>三条命令搞定,装完立即生效!</p>
<h3 id="其他值得关注的插件">其他值得关注的插件</h3>
<table>
<thead>
<tr>
<th>插件</th>
<th>用途</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td>Claude-Mem</td>
<td>长期记忆</td>
<td>跨会话保持上下文和偏好</td>
</tr>
<tr>
<td>Local-Review</td>
<td>代码审查</td>
<td>提交前多 Agent 并行审查 diff</td>
</tr>
<tr>
<td>Superpowers</td>
<td>结构化工作流</td>
<td>TDD、Debug、Review 等流程</td>
</tr>
<tr>
<td>Chrome DevTools MCP</td>
<td>浏览器调试</td>
<td>检查网络请求、控制台报错</td>
</tr>
</tbody>
</table>
<p>💡 更多插件看这里 👉 awesome-claude-code-plugins。建议从 2~3 个开始,按需扩展。</p>
<h2 id="57-注意事项">5.7 注意事项</h2>
<table>
<thead>
<tr>
<th></th>
<th>注意事项</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td>🔌</td>
<td>代理常开</td>
<td>每次使用前确认 USA 节点在线</td>
</tr>
<tr>
<td>🔐</td>
<td>敏感信息</td>
<td>不要让 Claude 处理密码、密钥等文件</td>
</tr>
<tr>
<td>🔴</td>
<td>代码合规</td>
<td>涉及核心业务/敏感仓库严禁使用外部模型!</td>
</tr>
<tr>
<td>💾</td>
<td>及时保存</td>
<td>重要修改后立即 git commit</td>
</tr>
<tr>
<td>🌐</td>
<td>网络波动</td>
<td>响应中断可以继续上一个对话</td>
</tr>
</tbody>
</table>
<hr>
<h1 id="六-常见问题">六、常见问题 ❓</h1>
<p><strong>Q: 代理开了还是连不上?</strong><br>
A: 排查三步:① 确认 USA 节点 ② <code>echo $https_proxy</code> 或查 <code>~/.claude/settings.json</code> ③ <code>curl ipinfo.io</code> 确认出口 IP</p>
<p><strong>Q: 被封了怎么办? 😰</strong><br>
A: 如果是通过应用商店订阅的,可以尝试去 Google Play / Apple Store 申请退款,根据经验大概率能成功,但不保证。然后换邮箱重新注册,保持稳定的美国 IP 重新订阅。</p>
<p><strong>Q: 之前用 API Key,怎么切到订阅?</strong><br>
A: <code>claude logout</code> → <code>claude login</code>,按提示授权。不 logout 会继续走 API 计费 💸</p>
<blockquote>
<p>请先关掉所有claude相关Terminal窗口,重开再继续执行。</p>
</blockquote>
<p><strong>Q: 阿里云/火山方舟 Coding Plan 和 Claude 官方订阅选哪个?</strong><br>
A: Coding Plan 价格低、国内直连、多模型可选,适合预算敏感或不想折腾代理的同学。Claude 官方胜在模型能力天花板和独占功能(WebSearch/Chrome/RC)。两者不冲突,可以先用 Coding Plan 首月优惠试试,觉得需要更强能力再上 Claude 官方。</p>
<p><strong>Q: 智谱 GLM-5 不是说逼近 Claude 了?</strong><br>
A: 性能确实提升大,但涨价 30%+,Max 要 469 元/月。和 Claude Max 5x 比,价格差距缩小了但能力和生态仍有差距。</p>
<p><strong>Q: 额度用完了怎么办?</strong><br>
A: 等 5 小时窗口重置 ⏰ 或开启 Extra Usage(按 API 价格按量续费)。合理拆分任务到多个窗口期。</p>
<p><strong>Q: Chrome 功能为什么连不上?</strong><br>
A: 确认:① 安装了 Claude in Chrome 扩展 ② Claude Code 是最新版 ③ 重启 Chrome 后重试。注意 Chrome 控制要求 Claude Code 和 Chrome 在同一台机器上。</p>
<hr>
<h1 id="附录openai-codex-代理配置指南">附录:OpenAI Codex 代理配置指南 🔧</h1>
<p>OpenAI Codex 同样需要代理才能在国内正常使用。Codex 有两种使用形态,代理配置方式完全不同,这里分别说明。</p>
<h2 id="cli-工具代理配置">CLI 工具代理配置</h2>
<p>Codex CLI 是终端命令行工具,它的进程环境变量由启动它的 shell 决定。<br>
直接在 <code>~/.zshrc</code> 里 <code>export HTTPS_PROXY</code> 会对所有终端命令生效,如果你只想对 <code>codex</code> 命令单独走代理、不影响其他命令,可以用 shell 函数封装。</p>
<h3 id="配置步骤">配置步骤</h3>
<p>在 <code>~/.zshrc</code> 中添加:</p>
<pre><code class="language-bash"># codex CLI 自动走代理(只对 codex 命令生效)
function codex() {
HTTPS_PROXY=http://127.0.0.1:你的端口 HTTP_PROXY=http://127.0.0.1:你的端口 command codex "$@"
}
</code></pre>
<p>保存后执行 <code>source ~/.zshrc</code> 使配置生效。</p>
<h3 id="原理说明">原理说明</h3>
<p>这里用一个同名 shell 函数“覆盖”了系统中原始的 codex 可执行文件。每次在终端输入 <code>codex</code> 时,shell 会优先执行这个函数:</p>
<ul>
<li>函数内的 <code>HTTPS_PROXY=... HTTP_PROXY=...</code> 写在命令前,仅作为该进程的临时环境变量注入,不会影响当前 shell 会话或其他命令;</li>
<li><code>command codex "$@"</code> 中的 <code>command</code> 关键字是显式调用原始二进制文件(绕过函数本身),<code>"$@"</code> 将所有参数原样透传,确保正常使用不受影响。</li>
</ul>
<h2 id="native-app-代理配置">Native App 代理配置</h2>
<p>Codex Native App 是 macOS 桌面应用,通常从 Dock、Launchpad 或 Spotlight 启动。<br>
这类 GUI 应用不是由终端 shell 派生的,因此完全不会继承 <code>~/.zshrc</code> 中的任何环境变量,上面的 shell 函数对它无效。</p>
<p>需要借助 macOS 原生的 LaunchAgent 机制来解决这个问题。</p>
<h3 id="原理说明-2">原理说明</h3>
<p>macOS 上所有进程(包括 GUI 应用)都由系统的 launchd 进程管理。<br>
<code>launchctl setenv</code> 命令可以向 launchd 的全局环境中写入键值对,这些键值对会被所有由 launchd 派生的子进程继承——包括从 Dock 点开的任何 Native App。</p>
<p>LaunchAgent 是一种用户级别的后台任务配置,存放在 <code>~/Library/LaunchAgents/</code>,登录时由 launchd 自动加载执行。<br>
把 <code>launchctl setenv</code> 写进 LaunchAgent,就能实现每次登录后自动向系统注入代理环境变量,一劳永逸。</p>
<h3 id="配置步骤-2">配置步骤</h3>
<p>第一步:创建 LaunchAgent 配置文件 <code>~/Library/LaunchAgents/com.user.proxy-env.plist</code>:</p>
<pre><code class="language-xml"><?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>com.user.proxy-env</string>
<key>ProgramArguments</key>
<array>
<string>/bin/sh</string>
<string>-c</string>
<string>launchctl setenv HTTPS_PROXY http://127.0.0.1:你的端口 &amp;&amp; launchctl setenv HTTP_PROXY http://127.0.0.1:你的端口</string>
</array>
<key>RunAtLoad</key>
<true/>
</dict>
</plist>
</code></pre>
<p>第二步:加载 LaunchAgent,让它立即执行(后续重启后会自动加载,无需重复操作):</p>
<pre><code class="language-bash">launchctl load ~/Library/LaunchAgents/com.user.proxy-env.plist
</code></pre>
<p>第三步:验证环境变量是否已注入到 launchd:</p>
<pre><code class="language-bash">launchctl getenv HTTPS_PROXY
# 输出 http://127.0.0.1:你的端口 则说明注入成功
</code></pre>
<p>第四步:重启 Codex App。已经在运行的 App 不会感知到新注入的环境变量,必须重新启动才能继承。</p>
<p>⚠️ 注意:<code>launchctl setenv</code> 注入的变量对所有 GUI 应用生效。如果某个应用自带代理设置且不需要走代理,可在该应用内部单独关闭,不受此影响。</p>
<h2 id="三种方案对比">三种方案对比</h2>
<table>
<thead>
<tr>
<th>场景</th>
<th>配置方式</th>
<th>作用范围</th>
<th>是否持久</th>
</tr>
</thead>
<tbody>
<tr>
<td>Codex CLI</td>
<td>~/.zshrc shell 函数封装</td>
<td>仅 codex 命令</td>
<td>永久</td>
</tr>
<tr>
<td>Codex Native App</td>
<td>LaunchAgent + launchctl setenv</td>
<td>所有 GUI 应用</td>
<td>登录后自动生效</td>
</tr>
<tr>
<td>Claude Code CLI</td>
<td>~/.claude/settings.json 的 env 字段</td>
<td>仅 Claude Code</td>
<td>永久(推荐)</td>
</tr>
</tbody>
</table>
]]></content>
</entry>
<entry>
<title type="html"><![CDATA[Gridea 上手教程]]></title>
<id>https://hbuecx.com/post/gridea-shang-shou-jiao-cheng/</id>
<link href="https://hbuecx.com/post/gridea-shang-shou-jiao-cheng/">
</link>
<updated>2026-02-11T14:00:01.000Z</updated>
<summary type="html"><![CDATA[<p><a href="https://zhuanlan.zhihu.com/p/71681116">Gridea 上手教程</a></p>
]]></summary>
<content type="html"><![CDATA[<p><a href="https://zhuanlan.zhihu.com/p/71681116">Gridea 上手教程</a></p>
<!-- more -->
]]></content>
</entry>
<entry>
<title type="html"><![CDATA[装饰器的妙用]]></title>
<id>https://hbuecx.com/post/zhuang-shi-qi-de-miao-yong/</id>
<link href="https://hbuecx.com/post/zhuang-shi-qi-de-miao-yong/">
</link>
<updated>2024-03-18T14:38:08.000Z</updated>
<summary type="html"><![CDATA[<h2 id="前言">前言</h2>
<p>最近在做一个新项目,在需求来临之前需要先把技术框架搭建起来,跟我同组的老大哥给我一个代码仓库地址,并让我梳理出来这个仓库的技术框架和实现思路,然后复刻一个。<br>
不就是抄🐴,这还不简单。</p>
]]></summary>
<content type="html"><![CDATA[<h2 id="前言">前言</h2>
<p>最近在做一个新项目,在需求来临之前需要先把技术框架搭建起来,跟我同组的老大哥给我一个代码仓库地址,并让我梳理出来这个仓库的技术框架和实现思路,然后复刻一个。<br>
不就是抄🐴,这还不简单。</p>
<!-- more -->
<h2 id="装饰器">装饰器</h2>
<p>我大概梳理了这个参考仓库的思路,主要是使用了插件化的思路。而在实现插件化过程中的注册插件时,妙用了装饰器来完成:</p>
<ol>
<li>首先使用了单例模式,在一个文件中导出了用于存储插件的变量:</li>
</ol>
<pre><code class="language-ts">export const registry: Record<string, IPluginConstructor<any>> = {};
</code></pre>
<ol start="2">
<li>定义了一个向这个变量上挂载插件的函数:</li>
</ol>
<pre><code class="language-ts">export const regPluginHoc = ({ name }: { name: string }) =>
(target: any) => {
if (registry[name] && registry[name].toString() !== target.toString()) {
logger.warn({
msg: `插件 ${name} 已存在,请重新命名`,
});
return;
}
registry[name] = target;
};
</code></pre>
<p>从这个编写方式,你很容易就可以看出来这是一个装饰器函数。<br>
3. 然后我们把这个装饰器用到我们的插件上:</p>
<pre><code class="language-ts">@regPluginHoc({ name: 'init' })
export class InitPlugin extends Plugin<{}> {
// ……
}
</code></pre>
<p>让我们回溯一下,这个装饰器会把这个插件的构造函数挂载到 register 变量中。你必须知道的是,装饰器的运行是在编译时完成的,而不是运行时。因此,理论上在项目启动后,你就可以在项目入口文件中打印 register 变量,并且得到其上挂载的插件构造器对象,然后通过 new 生成一个插件实例。<br>
但实际上,到这里并没有结束。因为即使装饰器是编译时执行的,但也首先要保证,项目在编译时可以索引到这个插件文件,也就是说我们必须在主入口的直接或者间接依赖文件中导入这个插件文件。<br>
4. 导入这个插件文件</p>
<pre><code class="language-ts">import '../plugins/initPlugin';
</code></pre>
<p>是的,只需要导入,在编译时可以索引到该文件即可,无需重命名任何实例。<br>
5. 然后在启动后的项目里,可以直接打印 register 这个变量:</p>
<pre><code class="language-ts">console.log(register);
</code></pre>
<h2 id="备注">备注</h2>
<p>至今为止,装饰器仍然是一个实验性的能力,要让装饰器真正在我们项目中生效不报错,我们需要配置一下 tsconfig.ts 文件,将 experimentalDecorators 属性设置为 true。</p>
<pre><code class="language-json">{
"compilerOptions": {
"experimentalDecorators": true,
}
}
</code></pre>
]]></content>
</entry>
<entry>
<title type="html"><![CDATA[铠甲与牢笼]]></title>
<id>https://hbuecx.com/post/kai-jia-yu-lao-long/</id>
<link href="https://hbuecx.com/post/kai-jia-yu-lao-long/">
</link>
<updated>2024-02-25T15:40:58.000Z</updated>
<summary type="html"><![CDATA[<p>某些保护我的东西,可能也在束缚我。</p>
]]></summary>
<content type="html"><![CDATA[<p>某些保护我的东西,可能也在束缚我。</p>
<!-- more -->
<p>我最大的问题可能是我没有心,不懂得去关注身边的人。现在这个自我封闭的我似乎并不是我理想状态下的最优的我,我觉得最好的我应该是一个开朗,懂得关心别人的人。或许我应该好好休息一段时间,多出去走走,以便能遇到更多人,不带负担的与陌生人搭讪,攀谈和交流,从而学会一些我从未习得的东西。</p>
<p>眼下的我,把自己关在一个封闭的自我适应的空间里,不敢随意的踏出一步,也就是大家常说的舒适圈。但我却并不这么想,我从心底里并不认为这是个令我舒适的地方,而是一个迫于外界环境和自身能力不匹配的情况下而衍生出的一个让自己感到安全的领域,所以我更愿意把这个范围叫做安全圈,而不是舒适圈,因为还有很多事情我想做却没有付出行动,仅仅从这一点就可以感觉到我没有达到理想中的自由:想做什么就做什么,不想做什么就不做什么。没有自由也就谈不上舒适。</p>
<p>我的脑子里始终有很多的小人在斗争,做还是不做,做了好的结果是什么,坏的结果是什么?这些在过往经历的磨砺中所形成的缜密的思维框架,像铠甲一样时时刻刻在保护我的安全,但终究不是所有的问题都能用逻辑思维来解决,甚至于我们一生中大多数问题都不能仅凭逻辑思维来解决,那么这种根深蒂固的逻辑框架决定行为的模式从另一种程度上讲这也是一个深深把我囚禁的牢笼,令我的一切行为都无法挣脱它的束缚,我也无法踏足和感受这铠甲以外的领域。</p>
<p>但在眼下这个充斥着人情世故的工作环境中,我想我很难脱下铠甲,繁多的工作也让我没有精力在不褪下铠甲的情况下,还能运动自如。或许从解决方案上讲,我应该找一段时间,脱离工作的环境,回归到自然社会中,真正的让自己空闲和冷静下来,或许在那时我才有足够精神和毅力破茧而出,去做一些以往我一直想做却从来没做过的事情。</p>
]]></content>
</entry>
<entry>
<title type="html"><![CDATA[如何调试旧版本谷歌浏览器]]></title>
<id>https://hbuecx.com/post/ru-he-yong-diao-shi-jiu-ban-ben-gu-ge-liu-lan-qi/</id>
<link href="https://hbuecx.com/post/ru-he-yong-diao-shi-jiu-ban-ben-gu-ge-liu-lan-qi/">
</link>
<updated>2023-12-28T15:32:05.000Z</updated>
<summary type="html"><![CDATA[<p>今天遇到一个问题,部署出去的网站在客户的电脑上打开之后,很多样式都丢失了,导致页面出现大批量的错位,无法正常使用。</p>
]]></summary>
<content type="html"><![CDATA[<p>今天遇到一个问题,部署出去的网站在客户的电脑上打开之后,很多样式都丢失了,导致页面出现大批量的错位,无法正常使用。</p>
<!-- more -->
<p>询问了一下,客户的浏览器用的谷歌浏览器,但是版本还是76(这个是2019年发布的版本),初步怀疑是浏览器版本过低的原因。</p>
<p>于是提醒用户更新浏览器,然后我也想验证一下是不是浏览器版本过低导致的问题,所以我就准备找旧版本的浏览器调试一下。</p>
<p>先找到了可以现在老版本谷歌浏览器的网址:</p>
<ol>
<li><a href="https://www.slimjet.com/chrome/google-chrome-old-version.php">www.slimjet.com</a>.</li>
<li><a href="https://www.chromedownloads.net/chrome64osx/">www.chromedownloads.net</a></li>
</ol>
<p>到这里下载了老版本谷歌浏览器,软件安装也成功了。安装成功后,应用列表里会多一个 <code>Google Chrome 2</code> ,当我想打开这个软件的时候,怎么弄都打不开。</p>
<p>查了相关资料找到了解决方案,需要在终端中执行如下命令来启动老版本浏览器:</p>
<pre><code class="language-shell">/Applications/Google\ Chrome\ 2.app/Contents/MacOS/Google\ Chrome --user-data-dir=%HOME/chrome-profile --chrome-version=61.0.3163.79
</code></pre>
<ul>
<li><code>/Applications/Google\ Chrome\ 2.app/Contents/MacOS/Google\ Chrome</code>: 指定要打开的应用程序在系统中的位置,可以把 Google Chrome 2 拖到终端里查看路径</li>
<li><code>--user-data-dir=%HOME/chrome-profile</code>: 指定用户数据存放的路径</li>
<li><code>--chrome-version=61.0.3163.79</code>: 指定 Chrome 版本</li>
</ul>
<p>一般来说,我们只要修改这个命令中的 版本号 就可以直接运行了。</p>
<p>这种启动的浏览器存在一个小问题,就是我们在当前浏览器上的各种数据都不会同步到通过命令启动的浏览器上,需要重新登陆一遍。</p>
<p>回到原始问题,当我用老版本浏览器来访问我们的产品时,确实发生了样式布局错乱的问题,由此确定,确实是浏览器版本导致的样式问题。</p>
<p>所以我们给出的解决方案是让用户把浏览器升级到最新版本,同时,给出了一个建议最低版本是 v88(该版本建议源自公司内同类产品建议)。</p>
<p>原文:</p>
<iframe width="100%" height="600px" src="https://www.baobangdong.cn/running-an-earlier-version-of-chrome-on-a-mac/" />]]></content>
</entry>
<entry>
<title type="html"><![CDATA[调试页面循环重定向问题]]></title>
<id>https://hbuecx.com/post/diao-shi-ye-mian-xun-huan-chong-ding-xiang-wen-ti/</id>
<link href="https://hbuecx.com/post/diao-shi-ye-mian-xun-huan-chong-ding-xiang-wen-ti/">
</link>
<updated>2023-01-12T13:37:09.000Z</updated>
<content type="html"><![CDATA[<p>前端页面出现循环重定向问题时,由于页面不断地刷新,所以打开控制台查看接口,根本看不到接口response里的数据,难以调试。</p>
<p>如何解决呢?</p>
<h2 id="解决方案">解决方案</h2>
<ol>
<li>开一个新窗口,打开控制台</li>
<li>切换到 <code>Sources</code> 面板,在面板右侧找到 <code>Event Listener Breakpoints</code> ,勾选 <code>load</code> 监听器。</li>
<li>然后再在当前窗口访问目标网页URL,这样页面在跳转之前会停留在当前页面,不会跳走,就可以尝试调试了。<br>
<img src="https://hbuecx.com/post-images/1673531064293.jpg" alt="" loading="lazy"></li>
<li>如果你知道重定向的代码的根源在哪,那么你可以在 <code>Sources</code> 面板的左面板找包含重定向代码的 JS 文件,去文件里搜索重定向代码,然后给它打上断点。然后一步步溯源就可以解决问题。<br>
<img src="https://hbuecx.com/post-images/1673531350213.jpg" alt="" loading="lazy"></li>
</ol>
]]></content>
</entry>
<entry>
<title type="html"><![CDATA[租房的哲学]]></title>
<id>https://hbuecx.com/post/zu-fang-de-zhe-xue/</id>
<link href="https://hbuecx.com/post/zu-fang-de-zhe-xue/">
</link>
<updated>2022-12-11T14:20:12.000Z</updated>
<summary type="html"><![CDATA[<p>租房三件套:租客、中介、房东。</p>
]]></summary>
<content type="html"><![CDATA[<p>租房三件套:租客、中介、房东。</p>
<!-- more -->
<h2 id="租客的哲学">租客的哲学</h2>
<p>租客关注是否合适。</p>
<h3 id="讲价">讲价</h3>
<p>作为租客,找到合适的房子后,最重要的事情是讲价。一般来说,租客都可以在出租房的报价上砍下来两百到三百不等的价格,自如这种平台型除外。</p>
<h2 id="中介的哲学">中介的哲学</h2>
<p>中介关注能否成交。</p>
<p>在租房交易中,中介起到了非常重要的意义。而他们也是最乐意看到这单交易成交的人,所以他总是想方设法在租客和房东中间寻找一种平衡。为此,他们有时可能需要使用一些语言艺术。</p>
<h3 id="18号-or-1号">18号 or 1号</h3>
<p>我准备签合同那天是 7 号,而我当前房子的到期时间是 18 号,所以我期望可以晚几天签合同或者将合同上的时间延几天。</p>
<p>为了让我的延期要求看起来更加合理,中介与出租房的在沟通时说我的房子到期时间是下个月 1 号,以一种夸张的方式来说服出租房延长时间。</p>
<p>最终确实出租房同意了延期 6 天,即从 13 号开始计算起租日。一般来说,起租日不会延期超过5天。</p>
<h3 id="帮公司干活-or-帮自己干活">帮公司干活 or 帮自己干活</h3>
<p>在我和中介大哥聊天的时候,我发现他们似乎是脱离平台自己做的业务,通过短暂的交流,我确认了这一点。</p>
<p>出于好奇,我询问了中介大哥关于收入高低的问题,他坦言自己跑比在公司里赚得多。另外,他在这里已经做了 5 年多,手上一百多个房东的名字,他几乎是滚瓜烂熟,这一点我还是蛮佩服他的。</p>
<h3 id="一人带看-or-两人带看">一人带看 or 两人带看</h3>
<p>我跟这个大哥出来看房两次,每次看房他都会带一个同事一起,这让我感觉有些奇怪,因为在我看来,这件事情一个人也能干得了,为什么要出动两个人呢?好像在效率上会稍显逊色一些。</p>
<p>中介大哥给了两个答案:</p>
<ol>
<li>绝大多数情况下都是两个人一起看房,要么是跟朋友一起看,要么是情侣。如果是一个人带看,一辆电瓶车坐不下,不方便;</li>
<li>既是一起做业务,也是老手带新手,传授经验。</li>
</ol>
<p>挺有意思的,如果不发问,我可能也想不到。</p>
<h2 id="房东的哲学">房东的哲学</h2>
<p>房东关注是否利益最大化。</p>
<h3 id="报价">报价</h3>
<p>这个新房东,她手上应该有上百套房产出租,成立了一个公寓品牌。所有的房源都录入在系统里,而价格也都是在她的目标价位上加价三百左右,既是给租客讲价的空间,也是保障自己的利益。</p>
<h3 id="12个月与15个月">12个月与15个月</h3>
<p>这次签约是,房东期望能够签 15 个月,至于原因倒是不难理解,12 月是一年中租房行情比较差的时候,如果我只租一年,到了明年 12 月她这个房子可能还不好租出去。可要是我租了 15 个月,就是第二年的 3 月份,一旦过了年,租房的人多了起来,加价租出去都可以。</p>
<h3 id="雇人清洁-or-自己清洁">雇人清洁 or 自己清洁</h3>
<p>晚上来签约的时候,房东自己带了清洁工具来给房间做清洁。对这件事起初我还是有些不理解的,因为手上握有这么多房产,应该不差钱才对,为什么还要自己做保洁,而不是请人来做呢?</p>
<p>房东的回答是自己做保洁会让租客感觉上会更亲切一些,拉进距离。这倒是合理的,也是比较有趣的人际交往的知识。</p>
<h2 id="我是尾巴">我是尾巴</h2>
<p>总之,我的租房合同签了。虽然不是很满意,凑合凑合还行吧。</p>
]]></content>
</entry>
<entry>
<title type="html"><![CDATA[window.onstorage 跨标签页通信]]></title>
<id>https://hbuecx.com/post/windowonstorage-kua-biao-qian-ye-tong-xin/</id>
<link href="https://hbuecx.com/post/windowonstorage-kua-biao-qian-ye-tong-xin/">
</link>
<updated>2022-12-05T08:08:27.000Z</updated>
<summary type="html"><![CDATA[<p>某些场景下需要完成夸标签页通信,比如,从列表页新开一个新增页面,新增完成后,需要更新列表页的数据。</p>
]]></summary>
<content type="html"><![CDATA[<p>某些场景下需要完成夸标签页通信,比如,从列表页新开一个新增页面,新增完成后,需要更新列表页的数据。</p>
<!-- more -->
<h2 id="util-封装">util 封装</h2>
<p>代码封装如下:</p>
<pre><code class="language-ts">import { v4 as uuidV4 } from 'uuid';
// 特定前缀,避免 Storage 覆盖
const prefix = '@@';
export function trigger(type: string, payload: any) {
localStorage.setItem(prefix + type, JSON.stringify({
payload,
temp: uuidV4()
}));
}
export function on(type: string, handler: (value: any) => void) {
const storageHandler = (e: StorageEvent) => {
const { key, newValue } = e;
if (key !== prefix + type) return;
try {
const payload = JSON.parse(newValue || '');
handler(payload.payload);
} catch (e) {
console.warn('storage error with key of ', key);
}
};
window.addEventListener('storage', storageHandler);
return () => {
window.removeEventListener('storage', storageHandler);
}
}
</code></pre>
<h2 id="使用">使用</h2>
<h3 id="监听">监听</h3>
<pre><code class="language-ts">// 需要注销监听时可以调用 off 函数
const off = on('a', (value) => {
console.log(value);
});
</code></pre>
<h3 id="触发">触发</h3>
<pre><code class="language-ts">trigger('a', '急急急');
</code></pre>
]]></content>
</entry>
<entry>
<title type="html"><![CDATA[绍兴乔波滑雪🏂🏻小记]]></title>
<id>https://hbuecx.com/post/qiao-bo-hua-xue-xiao-ji/</id>
<link href="https://hbuecx.com/post/qiao-bo-hua-xue-xiao-ji/">
</link>
<updated>2022-11-28T16:25:53.000Z</updated>
<content type="html"><![CDATA[<p>甜姐载着晋问、晋问女朋友、破凉和我,车上总共 5 个人。早上八点半出发,接近十点到达乔波滑雪场。</p>
<p>在咸鱼买的票,240元,官方票价266,限时 4 小时,还挺贵的。而且票价只包括雪服、雪鞋和雪板,如果需要头盔或者手套,需要自己提前买或者当场买。另外这里不提供雪仗,买都没不了,有点难受。</p>
<p>这里没有雪仗提供也是有原因的,我们去的时候,发现这里 90% 的人都在玩单板,而且很多人都是自带雪板的。对于剩下的少部分双板的玩家,可能需要牺牲掉他们的一部分利益来保全商家的利益了。</p>
<p>上一次滑雪还是两年前在北京的云佛山滑雪场,这是人生的第二次,2022年的第一次。</p>
<p>刚去的时候,直接去滑中级道,由于隔了两年,很多技巧都忘掉了,平衡感也掌握不好,所以摔了好几次。于是调整策略,在训练区联系了很多次,确定自己在练习区能做到游刃有余的时候,又重新回到了中级道。确认有效,在经过训练区的反复尝试习得的经验下,再上时就没有滑倒过。</p>
<p>滑雪结束后,由于没有做拉伸,导致第二天胳膊和屁股都酸痛得厉害。这是血与泪的教训,开始滑雪和结束滑雪时都需要做热身和拉伸,不然免不了酸痛。</p>
<figure data-type="image" tabindex="1"><img src="https://hbuecx.com/post-images/1670232801912.JPG" alt="" loading="lazy"></figure>
]]></content>
</entry>
<entry>
<title type="html"><![CDATA[关于Tech快报]]></title>
<id>https://hbuecx.com/post/guan-yu-tech-kuai-bao/</id>
<link href="https://hbuecx.com/post/guan-yu-tech-kuai-bao/">
</link>
<updated>2022-11-20T13:48:16.000Z</updated>
<content type="html"><![CDATA[<p>我承接了一份“额外的工作”,在工作之余,我每两周必须抽时间完成一份最新前端周刊。开始的一段时间,这份工作令我为之困扰。</p>
<h2 id="这是一件怎样的工作">这是一件怎样的工作</h2>
<ul>
<li>每次讲说,我只有5到10分钟时间,所以讲述的内容不能太多</li>
<li>内容必须与前端强关联,因为听众都是前端开发者</li>
<li>内容不能太基础,因为听众大多是骄傲的人,他们不愿意听他人给他们讲基础,因为这会玷污他们的专业性</li>
<li>内容不能太高端,太过高端的内容曲高和寡,简短的时间根本不能让他们理解一件事情</li>
<li>选题不能落后,落后的内容他们不想听</li>
<li>选题不能太前沿,他们没用过的内容他们也并不关心</li>
</ul>
<h2 id="最大的问题">最大的问题</h2>
<p>最大的问题是,除了自己部门的成员以外,其他人的偏好我并不了解,所以哪些内容应当被收录,以及如何编辑他们让我产生了困扰。</p>
<h2 id="我的预期">我的预期</h2>
<p>既能帮助自己拓展知识面,也能对周边人产生帮助,最好能获得他们的认可。</p>
<h2 id="或者是我自己把这件是将塑造得太过困难">或者,是我自己把这件是将塑造得太过困难</h2>
<p>作为前端开发者,最关心的两件事情:第一是这能否对我现阶段的工作产生帮助;第二是能否对我的职业生涯产生帮助。</p>
<p>绝大多数人只关心这两件事情,如果按照这个思路,那我需要满足这两条即可。</p>
<h2 id="他们对哪些事情感兴趣">他们对哪些事情感兴趣</h2>
<ul>
<li>
<p>React 的新提案</p>
<ul>
<li>useEvent</li>
<li>use</li>
</ul>
</li>
<li>
<p>ES features</p>
<ul>
<li>ES12 features</li>
</ul>
</li>
<li>
<p>TC39提案<br>
+<br>
+</p>
</li>
<li>
<p>拥有更高、更快、更强噱头的新框架诞生 or 重大更新</p>
<ul>
<li>solidjs</li>
<li>vite 3.0</li>
<li>Turbopack</li>
</ul>
</li>
<li>
<p>前端技术方案实现 or 原理浅析</p>
<ul>
<li>微前端技术方案实现</li>
<li>eslint原理</li>
<li>无界微前端方案</li>
<li>ShadowRealm:沙箱环境</li>
</ul>
</li>
<li>
<p>内部开源工具实践</p>
<ul>
<li>umijs升级</li>
<li>雨燕3.0发布</li>
<li>bigfish 4发布</li>
</ul>
</li>
</ul>
<h2 id="他们对哪些事情不感兴趣">他们对哪些事情不感兴趣</h2>
<ul>
<li>前端行业资讯
<ul>
<li>字节1024kb小游戏大赛</li>
</ul>
</li>
<li>前端行业报告
<ul>
<li>开发者调查报告</li>
<li>前端生态趋势报告</li>
</ul>
</li>
<li>与实践无关的框架更新
<ul>
<li>Flutter 3.0发布</li>
<li>Astro 1.0</li>
</ul>
</li>
<li>“基础”的前端知识
<ul>
<li>你不知道的HTML属性</li>
<li>git常见问题使用方法</li>
<li>eslint配置方式</li>
<li>react csr ssr渲染模式</li>
</ul>
</li>
<li>前端相关开源工具科普
<ul>
<li>用于查找内存泄漏的工具:Memlab</li>
</ul>
</li>
</ul>
<h2 id="中性内容">中性内容</h2>
<ul>
<li>网络相关
<ul>
<li>HTTP 3.0</li>
</ul>
</li>
<li>实践相关
<ul>
<li>新的npm语法</li>
</ul>
</li>
</ul>
<h2 id="感兴趣与不感兴趣的原因">感兴趣与不感兴趣的原因</h2>
<p>令他们感兴趣的是可以马上实践、将会实践或者身边人也会感兴趣并能与之交流的内容。<br>
令他们不感兴趣的他们不会去使用也不会与人交流的内容。</p>
<h2 id="像是抖音的推荐算法">像是抖音的推荐算法</h2>
<p>做完分析之后,我发现这有点像抖音的智能推荐算法,区别仅仅在于使用工具的不同,一个比另一个更灵活,一个另一个更高效。</p>
<h2 id="快报的初心与意义">快报的初心与意义</h2>
<p>真正的根据喜好去投喂是对的吗,我想是不对的。就像许多偏食的人由于营养不均衡导致身体素质差一样,太过偏科也不是一个好习惯。</p>
<p>《人类简史》中曾谈到智人(现代人类的祖先)往往拥有多种生存技能,即使单独一个人也能完成生活中所需的一切。而现在的社会中,现在人类太过于原子化,每天做着同一份工作,技能逐渐专业化,也逐渐单调化,一旦社会体系崩溃,大多数人都将随之灭亡。就像疫情期间,很多被困在家的人不会做饭只能煮泡面一样,差不多是一个道理。</p>
<h2 id="自我解放">自我解放</h2>
<p>当我把这些内容进行分类整理之后,我的精神压力减轻了不少,因为经过统计、分析和筛选,我的目标更清晰了。</p>
<p>我大致理清了听众的喜好,但我不应该让听众的偏好干扰我自己的学习计划。区分开两者,但又不是完全的隔离,要用两条腿走路。</p>
<h2 id="自我反思">自我反思</h2>
<p>似乎也只有在筛选文章这件事情上,能让我长时间的去翻看新文章,但是这中带着任务的紧迫感,会让我的心稍稍浮躁,为了追求结果而浅尝辄止。</p>
]]></content>
</entry>
<entry>
<title type="html"><![CDATA[良渚遗址公园一游]]></title>
<id>https://hbuecx.com/post/liang-zhu-yi-zhi-gong-yuan-yi-you/</id>
<link href="https://hbuecx.com/post/liang-zhu-yi-zhi-gong-yuan-yi-you/">
</link>