-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathindex.xml
542 lines (458 loc) · 56.6 KB
/
index.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
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title></title>
<link>/</link>
<description>Recent content on </description>
<generator>Hugo -- gohugo.io</generator>
<lastBuildDate>Sun, 30 Aug 2020 00:00:00 +0000</lastBuildDate><atom:link href="/index.xml" rel="self" type="application/rss+xml" />
<item>
<title></title>
<link>/contact/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/contact/</guid>
<description>感情自有其理,理性难以知晓。 您现在闯入的是CF的个人博客,来者皆是客,无花无酒欢迎吐槽。
CF的技术文库看这里 LibBar</description>
</item>
<item>
<title></title>
<link>/my-paint/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/my-paint/</guid>
<description>投产中…… 不炼金丹不坐禅,桃花庵里酒中仙。闲来写副青山卖,不使人间造孽钱。</description>
</item>
<item>
<title>又是一年高考季</title>
<link>/post/2020/0825-gaokao/</link>
<pubDate>Sun, 30 Aug 2020 00:00:00 +0000</pubDate>
<guid>/post/2020/0825-gaokao/</guid>
<description>听一曲老歌,叹一段时光。年复一年,一代又一代的青年才俊~
不论是选择冷门考古专业的北大才子,还是获华为200万年薪的天才少年。殊途同归的是他们没有过多的考虑世俗的偏见,也没有过多的受金钱的诱惑,而是遵循自己的内心,选择最适合自己的路。与其精于计算,不如勇敢坚持。</description>
</item>
<item>
<title>1917 观感</title>
<link>/post/2020/0822-1917/</link>
<pubDate>Sat, 22 Aug 2020 00:00:00 +0000</pubDate>
<guid>/post/2020/0822-1917/</guid>
<description><p>儿子顶着骄阳参加夏令营去了,娃他娘和我到电影院打发了半天的时光。今年这第一次走进电影院,也算是为百废待兴的电影院线尽绵薄之力。可选的影片不多,幸运的是竟有我觉得值得一看的片源——评价不俗的一战影片《1917》。一战不算是热门题材,在国内也是小众,而今疫情的阴霾下更人迹寥寥。没有大尺寸银幕,没有3D眼镜,但是不影响优异的观影体验。镜头长,战壕长,卷福的脸也长。</p></description>
</item>
<item>
<title>野性的呼唤</title>
<link>/post/2020/0723-yxhh/</link>
<pubDate>Thu, 23 Jul 2020 00:00:00 +0000</pubDate>
<guid>/post/2020/0723-yxhh/</guid>
<description>巴克在岱亚沙滩的第一天像是一场噩梦,每一个小时都充满了打击和意外。这儿再没有阳光轻吻这游手好闲百无聊赖的生活。这儿没有和平,没有休息,没有片刻安全。一切全是混乱和骚动,生命和肢体每时每刻都受着威胁……冬季的长夜到来,狼群跟随食物进入低谷时,却可以看到他巨大的身影在灰白的月光里或是在漠漠闪动的北极光里领着狼群蹦跳。在他唱着原始世界的歌时,他那巨大的喉咙轰轰地响,那就是狼群之歌。
从养尊处优到狡黠残忍,从百无聊赖到日以继夜。从勤勉工作、濒于死亡到体会真爱和狂热崇拜。直到最后了无牵挂,回归荒野。他能因环境变化而调整自己,没有这个本领可能意味着急速到来的可怕死亡。它也标志了他道德本性的蜕化和解体。那是一种虚荣,在残酷的生存斗争中是一种障碍。狗子巴克应验了那句话:是金子到哪都会发光的。对于任何一个个体,要战胜残酷的竞争环境,扎实的能力技艺是基础,坚韧不屈的品质是动力。但是为生存、为信仰、为爱和自由。生命的意义究竟是什么?
《这个杀手不太冷》中当小女孩问“生活是一直如此艰辛,还是仅仅小时候如此?”雷诺答曰:“一直如此。” 是的,生活就像心电图,当一马平川时,你已经挂了。要活着,必然是高低起伏腾挪跌宕。但是,我们一生中所经历的挫折与困苦,是否只是为了某一时刻的幸福降临做铺垫?面对残酷的环境,巴克无往而不利,最终结局也满足了大多数人们对生活的憧憬与向往,即虽历尽艰辛但终修成正果。而同期雪橇小分队的其他狗狗伙伴们,都倒在了为之奋斗的岗位上。尤其是戴夫,视撬位和雪径为骄傲,虽然病得要死,也受不了别人接替他的工作。相比戴夫,巴克除了主角光环的庇护,更大不同在于思变的力量,为适应、改变现状而拼搏。适应是生命的本能,改变是生命的升华。也许,说到可怜的戴夫,生活中的我们大多莫不如是,勤勤恳恳的在别人安排的岗位上默默走完一生。诚然有的人幸运的找到了心底那野性的呼唤,还有的人在寻找的路上,而大多数人压根就没打算唤醒心底的呼唤。对于生活的意义,还是那句老话。如果你已经找到了生命中追求的事物,那么恭喜你,努力为之奋斗吧。如果,还没找到,那么就接着继续找寻吧,但不要放弃找寻的努力。
希望每个人都能在人生的旅途中坚持到底,在七老八十时回忆着年轻时的坎坷与美好,对着膝下的孙辈安然地说:“给你讲一个故事,故事里的人从来没有放弃……”</description>
</item>
<item>
<title>前端技术栈!</title>
<link>/post/2020/0623-frontend/</link>
<pubDate>Tue, 23 Jun 2020 00:00:00 +0000</pubDate>
<guid>/post/2020/0623-frontend/</guid>
<description><p>抄作业,一图解千愁</p></description>
</item>
<item>
<title>CSS七宗罪</title>
<link>/post/2020/0620-html/</link>
<pubDate>Sat, 20 Jun 2020 00:00:00 +0000</pubDate>
<guid>/post/2020/0620-html/</guid>
<description>深入了解选择符优先级、继承和层叠机制。知道盒子模型各组成部分。对各种长度单位了如指掌。
了解CSS3最新特性并亲手尝试。 知道SVG 能读懂JavaScript 了解CSS预处理器
盒子模型 margin:外边距,用于盒子的定位,是透明的,可以显示父元素(包裹着这个盒子元素的元素)的背景 border:边缘,属性包括粗细、样式(直线、虚线、点状线等)、颜色 padding:内边距,用于调整内容在盒子中的位置,是透明的。受盒子的背景影响 content:元素内容 html将元素分为三类:
inline内联元素(行级元素):不可以设置宽高,可以与其它元素同占一行(a,span) block块元素:可以设置宽高,独占一行(div、ul,li,h*,p),注意div元素之间是没有行间隙的 内联块元素:可以设置宽高,可以与其他元素同占一行(img) css属性text-align可以设置文本位置
给块元素设置text-align:center,块元素内的文本和行内元素都居中 给块元素设置width,并设置margin:0 auto; 块元素自身居中 position的属性值 static:静态定位,默认值。没有定位元素出现在正常流中,忽略top,bottom,left,right或者z-index声明
relative:相对定位,相对于它原本的位置来定位,宽度与父元素宽度保持一致。不会影响周围元素的位置。
absolute:
定位前提:父类存在定位元素则以该父类元素位置进行定位 一般采用“子绝(对)父相(对)“ 宽度由文本决定,会影响周围元素的位置 fixed:相对浏览器窗口进行定位
inherit:继承父元素值
Absolution:元素会脱离文档流,定位是相对于离它最近的且不是static定位的父元素而言,若该元素没有设置宽度,则宽度由元素里面的内容决定,且宽度不会影响父元素,定位为absolution后,原来的位置相当于是空的,下面的的元素会来占据。
Relative:元素仍处于文档流中,定位是相对于原本自身的位置,若没有设置宽度,则宽度为父元素的宽度,该元素的大小会影响父元素的大小。
关于几个属性值区别的例子:Absolute(绝对定位)与relative(相对定位)的图文讲解 CSS Id 和 Class
id 选择器可以为标有特定 id 的 HTML 元素指定特定的样式。
HTML元素以id属性来设置id选择器,CSS 中 id 选择器以 &ldquo;#&rdquo; 来定义。
以下的样式规则应用于元素属性 id=&ldquo;para1&rdquo;:
class 属性大多数时候用于指向样式表中的类(class)。不过,也可以利用它通过 JavaScript 来改变带有指定 class 的 HTML 元素。
即指定多个class,这是bootstrap常干的事,比如 请问,这两个class之间的关系是什么,二者的优先级是怎样的?
我自己定义了一个class ,加在后面,但没起作用,当然,如果写到style里去是可以的。
你说的没错,就是指定多个class的意思,在HTML的层面上说的话,这样指定的class是同级的。同级的class需要看CSS文件的先后次序,后加载的css会覆盖前面加载的css。写到style的话因为是最后解析的所以是最高的一个优先级。</description>
</item>
<item>
<title>Let's talk about learning English</title>
<link>/post/2020/0615-learning-english/</link>
<pubDate>Mon, 15 Jun 2020 00:00:00 +0000</pubDate>
<guid>/post/2020/0615-learning-english/</guid>
<description><p>记忆的机制:
外部信息&ndash;感知记忆&ndash;工作记忆&ndash;长期记忆</p></description>
</item>
<item>
<title>MacOS 调优</title>
<link>/post/2020/0615-macos-cli/</link>
<pubDate>Mon, 15 Jun 2020 00:00:00 +0000</pubDate>
<guid>/post/2020/0615-macos-cli/</guid>
<description>pmset mac 休眠模式种类:
mode 0:当前状态保存在内存中,系统继续供电,唤醒速度快 mode 1:保留到专用磁盘空间,唤醒时需重新加载 mode 3:默认模式,将当前状态保存在内存中,当电快耗尽时将当前状态保存到磁盘中,然后完全关机。 mode 25:与mode 3的区别在于会直接停止内存供电而不等到低电量 模式查看及设置:
pmset -g System-wide power settings: Currently in use: standbydelaylow 10800 # 盒盖后在内存保留秒数 standby 1 # 只有hibernatemode为3,25才工作 halfdim 1 hibernatefile /var/vm/sleepimage proximitywake 0 gpuswitch 2 powernap 0 disksleep 10 # disk进入休眠时间 standbydelayhigh 86400 sleep 1 # 闲置进入休眠时间,单位分钟;sleep &gt;= disksleep &gt;= display sleep hibernatemode 25 ttyskeepawake 1 displaysleep 2 # 显示器进入休眠时间 tcpkeepalive 1 # 网络唤醒功能 highstandbythreshold 50 acwake 0 lidwake 1 # 修改状态,需输入密码 sudo pmset -b hibernatemode 25 sudo pmset -a hibernatemode 3 sudo pmset -c hibernatemode 0 sudo pmset -b tcpkeepalive 0 # 参数含义 # -c 调节设定用于连接充电器的时候 # -b 调节设定用于使用电池(Battery)的时候 # -u 调节设定用于使用 UPS 的时候 # -a 调节设定用于全部情景 其它常规 关闭iCloud同步、日常关闭蓝牙、降低特效等</description>
</item>
<item>
<title>MacOS 文件目录</title>
<link>/post/2020/0614-mac-dir/</link>
<pubDate>Sun, 14 Jun 2020 00:00:00 +0000</pubDate>
<guid>/post/2020/0614-mac-dir/</guid>
<description><p>打开Macintosh HD你会发现内中有四个文件夹(一般情况下,隐藏文件夹是不可见的,而且,可能会更多,比如安装xcode后会有developer文件夹).</p>
<p>分别有——应用程序(Applications)、系统(System)、用户(User)、资料库(Library)。四个文件夹中又分别各有若干数量的文件夹存在。</p></description>
</item>
<item>
<title>Open Graph Protocol</title>
<link>/post/2020/0526-the-open-graph-protocol/</link>
<pubDate>Tue, 26 May 2020 00:00:00 +0000</pubDate>
<guid>/post/2020/0526-the-open-graph-protocol/</guid>
<description><p>开放内容协议是 Facebook 在 2010 年 F8 开发者大会公布的一种网页元信息(Meta Information)标记协议,属于 Meta Tag (Meta 标签)的范畴,是一种为社交分享而生的 Meta 标签。</p></description>
</item>
<item>
<title>Mark for SpringCloud</title>
<link>/post/2020/0520-micro-service/</link>
<pubDate>Wed, 20 May 2020 00:00:00 +0000</pubDate>
<guid>/post/2020/0520-micro-service/</guid>
<description>一年来除了例行机械地忙碌于常规的、繁琐的日常事务性工作外,欣慰的是做了些许DevOps的改进。接下来得再玩点新花式,对现有管理的几个系统架构上做些许改进。逐步调整为微服务架构。
优点 服务独立,耦合性低 单个服务依赖少,启动快速 更加适合敏捷开发,针对单个服务发布版本快速 职责更加明确,服务拆分利于团队之间分工 服务可以动态按需扩容 代码复用,每个服务提供REST API,所有基础服务必须抽离 劣势 调用复杂性高,各模块通过Http来通信,这当中会产生诸如网络、容错、调用等多种问题 独立的数据库,分布式事务 测试难度增加,涉及大量接口,自动化测试尤为重要 运维难度提升,部署、监控更为复杂 和生物的渐进式演化一样,系统重构最好是采用循序渐进的模式。做好重构规划,抽出业务服务,再抽出这个产品所依赖的基础服务。尽量将重要的,影响重大的模块放到后面。
不要想着一步登天,在保障现有业务稳定运行情况下,稳步调整改进。
Spring Cloud 主要模块 Eureka:服务注册中心,用于管理服务 Ribbon:基于客户端的负载均衡组件 Hystrix:容错框架,防止服务雪崩效应 Feign:Web服务客户端,简化Http接口调用 Zuul:API网关,控制路由转发、请求过滤 Config:分布式配置管理 Sleuth:服务跟踪 Stream:构建消息驱动的微服务应用框架 Bus:消息总线 </description>
</item>
<item>
<title>评论系统</title>
<link>/post/2020/0402-comment-system/</link>
<pubDate>Thu, 02 Apr 2020 00:00:00 +0000</pubDate>
<guid>/post/2020/0402-comment-system/</guid>
<description>Valine 诞生于2017年8月7日,是一款基于Leancloud的快速、简洁且高效的无后端评论系统。
Disqus 貌似墙了</description>
</item>
<item>
<title>小狗钱钱</title>
<link>/post/2020/0317-etf/</link>
<pubDate>Tue, 17 Mar 2020 00:00:00 +0000</pubDate>
<guid>/post/2020/0317-etf/</guid>
<description>长期定投标的 抄作业
场内ETF
名称 代码 备注 500ETF 510500 300ETF 510300 科技ETF 515000 标普500ETF 513500 H股ETF 510900 黄金ETF 518880 ETF估值
https://xueqiu.com/6288585546/82353570
$$ 行业最新滚动市盈率 = \frac{\sum A股总市值}{\sum 过去4个季度A股净利润} $$
打新!大数定律 沪市 每一万元市值一个申购单位(1000股),不足一万元市值不计入
深市 每五千元一个申购单位(500股),不足五千元市值不计入
新股申购上限,沪深两市规定都是每只新股网上发行数量的千分之一。市值计算范围为T-2日(T日为网上申购日)前20个交易日(含T-2日)的日均持有市值。中签结果一般于第二个交易日休市后的晚上公布,有短信通知。T+2日自动扣除认购款。
实操策略 近年除了少数规模庞大的银行股、券商股以外,单只股票,顶格申购所需要的市值基本不会超过20万。因此超过30万分账户,沪深配置比例3:2,即单账户沪市18万,深市12万,基本保证可定格申购即可。
沪市标的 南京银行 中国平安 中信证券 伊利股份 隆基股份 长江电力 兴业银行
深市标的 美的集团 万科A 宁波银行</description>
</item>
<item>
<title>撸只猫</title>
<link>/post/2020/0307-draw/</link>
<pubDate>Sat, 07 Mar 2020 00:00:00 +0000</pubDate>
<guid>/post/2020/0307-draw/</guid>
<description>年纪大了爱好都变工具党,涂鸦一定要买最贵的笔,s20、925、Applepencil…… </description>
</item>
<item>
<title>Spring Never End</title>
<link>/post/2020/0222-springboot/</link>
<pubDate>Sat, 22 Feb 2020 00:00:00 +0000</pubDate>
<guid>/post/2020/0222-springboot/</guid>
<description>Spring IoC(Inversion Of Control) DI(Dependency Injection) 依赖注入,软件实体被动接受其依赖的其它组件被IoC容器注入 DL(Dependency Lookup) 软件实体主动去服务注册地查找其依赖的服务 Spring 框架最早是通过 XML 配置文件的形式来描述 bean 与 bean 之间的关系的,随着 Java 业界研发技术和理念的转变,基于 Java 代码和 Annotation 元信息的描述方式也日渐兴盛(比如 @Autowired 和 @Inject),但不管使用哪种方式,都只是为了简化绑定逻辑描述的各种“表象”,最终都是为本阶段的最终目的服务
主要特性:
非侵入式:基于Spring开发的应用中的对象可以不依赖于Spring的API 控制反转:IOC——Inversion of Control,指的是将对象的创建权交给Spring去创建。使用Spring之前,对象的创建都是由我们自己在代码中new创建。而使用Spring之后。对象的创建都是由给了Spring框架。 依赖注入:DI——Dependency Injection,是指依赖的对象不需要手动调用setXX方法去设置,而是通过配置赋值。 面向切面编程:Aspect Oriented Programming——AOP。通过预编译方式和运行期动态代理实现程序功能的统一维护。主要功能:日志记录,性能统计,安全控制,事物处理,异常处理等。 容器:Spring是一个容器,因为它包含并且管理应用对象的生命周期 组件化:Spring实现了使用简单的组件配置组合成一个复杂的应用。在 Spring 中可以使用XML和Java注解组合这些对象。 一站式:在IOC和AOP的基础上可以整合各种企业应用的开源框架和优秀的第三方类库(实际上Spring 自身也提供了表述层的SpringMVC和持久层的Spring JDBC) 核心思想:IOC和AOP
Ioc控制反转,谁控制谁?控制什么?为什么要控制? DI依赖注入,谁依赖谁?为什么要依赖?谁注入谁?为什么要注入?
AOP,基于动态代理,如果要代理对象,实现了某个接口,那么Spring AOP会使用JDK Proxy创建代理。AOP在日志记录和事务处理方面应用较多。
Spring MVC 前后端解偶 @RestController
参考文章:
Spring MVC过时了吗?
Spring Boot 习惯优于配置
spring4.X提倡使用java配置和注解配置组合,而Spring Boot不需要任何xml配置</description>
</item>
<item>
<title>教育的力量</title>
<link>/post/2020/0202-education/</link>
<pubDate>Sun, 02 Feb 2020 00:00:00 +0000</pubDate>
<guid>/post/2020/0202-education/</guid>
<description>这年的春节假期,因为一场载入史册的疫情而不同往常。从不以为然,到不可置信,再到心有余悸。这个特殊的春节经历了如此多的不同寻常。
亦如这本Education,不同寻常的经历总是让人嘘嘘不已。假期期间看得最触动的一本书,再次感受到偏见、固执的力量是多么的强大。但教育从古至今都是最具争议的难题。教育一方面化解的许多鸿沟,另一方面也创建了很多隔阂。因为不断接受新知识拓展着我们的认识边界,因为不断接受新事物改变了我们的价值观,让我们和价值观渐行渐远的人群拉开距离,不论是在文化习俗还是自然科学上,分歧、鸿沟无所不在。真正不变的只有变化,拥抱变化是教育给予最大的力量。
仰天长啸,平日带娃学习,急躁而欠冷静!每要跨越一个知识的鸿沟都是不容易的。我们这些经历过多年题海战术打磨的老兵,见识套路多了,神经元也就反射快了。由此回看那些已经被我们跨越的知识鸿沟,自然觉得理解起来没什么难度。但对于没有跨过这道鸿沟的孩子,需要时间来训练和消化是必不可少的。从另一个角度看,孩子每日都在经历着肉眼可见的变化、成长。而反观步入中年的我,多年似乎已然停滞不前,乏于改进。
过去是一个幽灵,虚无缥缈,没有什么影响力。只有未来才有分量。 美文摘录
过去总是美好的,因为一个人从来都意识不到当时的情绪,它后来扩展开来,因此我们只对过去,而非现在,拥有完整的情绪。 教育必须被视为一种对经验不断的重建;教育的过程和目标合而为一,是一回事。
山上的生活给人一种至高无上之感,一种遗世独立,甚至统治之感。在那广阔的空间里,你可以孤身一个人几小时畅行无阻,漂浮在松林、灌木和岩石的海洋。那是无边的静谧,使人沉静,在它的广袤面前人类显得微不足道。 高山令其渺小,山风让其缄默。
积极自由就是控制自己的思想,从非理性的恐惧和信仰中解放出来,从上瘾、迷信和所有其他形式的自我强迫中解脱出来。
我们在罗马浏览了两天。这座城市既生机勃勃,又犹如化石。褪色的古老建筑仿佛风干的骨头,嵌在现代生活的动脉——搏动的电缆和繁忙的交通。</description>
</item>
<item>
<title>Bootstrap,TypeScript,React,Vue...chaos!</title>
<link>/post/2020/0125-bootstrap/</link>
<pubDate>Sat, 25 Jan 2020 00:00:00 +0000</pubDate>
<guid>/post/2020/0125-bootstrap/</guid>
<description><p>Bootstrap:Twitter开源前端框架。号称多终端一把梭,移动设备优先。所谓响应式设计,在任何尺寸的屏幕上看起来都会不错。<br>
TypeScript:微软爸爸滴超级js,哦~不对,是js的超集
Font Awesome &hellip;</p></description>
</item>
<item>
<title>时间的秩序</title>
<link>/post/2020/0123-time/</link>
<pubDate>Thu, 23 Jan 2020 00:00:00 +0000</pubDate>
<guid>/post/2020/0123-time/</guid>
<description><p>一片大风刮过的空白,几乎失去了时间的所有痕迹。一个奇怪、陌生的世界,然而仍然是我们栖居的这个世界。就像抵达高山,除了雪、岩石和天空什么都没有,或者就如阿姆斯特朗和奥尔德林在月球静止的沙地上的冒险。一个被剥离至本质的世界,闪耀着荒芜与恼人的美。</p></description>
</item>
<item>
<title>Git LFS</title>
<link>/post/2019/git_lfs/</link>
<pubDate>Sun, 22 Dec 2019 00:00:00 +0000</pubDate>
<guid>/post/2019/git_lfs/</guid>
<description>本地安装LFS扩展 yum install git-lfs 注意:安装Git LFS的Git版本不低于1.8.2,高版本的git自带lfs不用额外安装
针对某个项目进行git lfs install
# 在某个Git仓库下 $ git lfs install Updated pre-push hook. Git LFS initialized. 这个命令会安装pre-push的git hook,即在push之前会调用一些hook执行推送large file的操作。
指定LFS文件 # track后缀为doc、docx的文件 git lfs track &#34;*.doc&#34; git lfs track &#34;*.docx&#34; 执行后仓库中会生成一个.gitattribute文件,git的勾子就是根据这个文件来判断当前仓库是否有使用LFS管理。
完成后和往常一样提交文件即可:
# 将large File添加到项目中 git add . # 将文件的metadata写入 git commit -m &#34;Add gemfield docx file&#34; # 将git repo和large file同步到gitlab server上 git push origin master remote最新的LFS git lfs fetch origin master 文件加锁 因为git lfs管理的是二进制文件,并不擅长解决merge之类的问题,因此它有一个特殊的概念:文件加锁(gitlab 10.</description>
</item>
<item>
<title>Traivs</title>
<link>/post/2019/traivs/</link>
<pubDate>Fri, 06 Dec 2019 00:00:00 +0000</pubDate>
<guid>/post/2019/traivs/</guid>
<description>Anyway, Travis is one of the favorite bands I love. I like the song Walking in the sun.
Travis CI 的钩子与生命周期 Travis的钩子 Travis 有不同的阶段,他提供了7个钩子。
before_install:install 阶段之前执行 before_script:script 阶段之前执行 after_failure:script 阶段失败时执行 after_success:script 阶段成功时执行 before_deploy:deploy 步骤之前执行 after_deploy:deploy 步骤之后执行 after_script:script 阶段之后执行 生命周期 before_install install before_script script aftersuccess or afterfailure [OPTIONAL] before_deploy [OPTIONAL] deploy [OPTIONAL] after_deploy after_script </description>
</item>
<item>
<title>GitLab CI/CD</title>
<link>/post/2019/gitlab-ci-cd/</link>
<pubDate>Wed, 06 Nov 2019 00:00:00 +0000</pubDate>
<guid>/post/2019/gitlab-ci-cd/</guid>
<description>本地开发(developing)&ndash;》静态代码走查(linting)&ndash;》单元测试(testing)&ndash;》合并到主干(merging)&ndash;》自动构建(building)&ndash;》自动发布(publishing)
相关概念 管道(pipeline)
每个推送到 GitLab 的提交都会产生一个与该提交关联的管道,若一次推送包含了多个提交,则管道与最后那个提交相关联,管道就是一个分成不同阶段(stage)的作业(job)的集合。 阶段(stage)
阶段是对批量作业的一个逻辑划分,每个 GitLab CI/CD 必须包含至少一个 Stage。多个 Stage 按照顺序执行,其中任何一个 Stage 失败,后续的 Stage 均不会被执行,整个CI过程被认为失败。 作业(job)
Job被定义为顶级元素,并且至少包括一条script语句,如果一个 Job 没有显式地关联某个 Stage,则会被默认关联到 test Stage。随着项目越来越大,Job 越来越多,Job 中包含的重复逻辑可能会让配置文件臃肿不堪。.gitlab-ci.yml 中提供了 before_script 和 after_script 两个全局配置项。这两个配置项在所有 Job 的 script 执行前和执行后调用。 GitLab Runner 用来执行.gitlab-ci.yml 脚本的工具。可以理解成,Runner就像认真工作的工人,GitLab-CI就是管理工人的中心,所有工人都要在GitLab-CI里面注册,并且表明自己是为哪个项目服务。当相应的项目发生变化时,GitLab-CI就会通知相应的工人执行对应的脚本。
Runner类型
Shared Runner:所有工程共用,由系统管理员创建。 Specific Runer:特定项目使用 安装
V10 以后的版本的安装包为gitlab-runner
老版本的为gitlab-ci-multi-runner
rpm -ivh gitlab-runner-12.9.0-1.x86_64.rpm 注册Token
安装好Runner后,需要向Gitlab注册,在Gitlab获取token。执行
gitlab-runner register # 新版本命令 gitlab-ci-multi-runner register # 老版本命令 根据提示输入url和token,描述,tag,executor。
注册完成后在 setting-&gt;CI/CD 页面会新增一条runner记录。可以进入修改配置,包括注册时输入的tag,和是否触发untag的代码</description>
</item>
<item>
<title>Git 常见问题</title>
<link>/post/2019/gitqa/</link>
<pubDate>Mon, 30 Sep 2019 00:00:00 +0000</pubDate>
<guid>/post/2019/gitqa/</guid>
<description>Win7 本地速度慢 启用并行索引预加载:
git config core.preloadindex true 禁用UAC和luafv驱动程序(需要重启),在regedit中将HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/luafv的“start”键HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/luafv为4以禁用驱动程序。 然后,将UAC置于其最低设置“永不通知”
.gitignore无效 如果某个文件已经存在于远程仓库了,也就是说某个文件已经被版本控制了,如果将该文件添加到.gitignore中,是无法生效的。因为.gitignore是用来控制尚未被纳入版本控制的文件,如果文件已经存在于远程库中,自然也就无法生效了。
方法一 直接在远程库里将想要忽略的文件删除掉,再将该文件写入.gitignore中即可。
这种做法的前提是,你确定该文件是允许从远程库删除掉的,然而有些时候,这种做法是不可能的。要么没权限去远程库删掉该文件,要么该文件是必须的。
方法二 使用命令git rm --cached filename1,然后将该文件写入.gitignore中即可。
该命令表示从git仓库中将文件移除,不再进行版本控制,但保留工作区的该文件。
需要注意的是,该命令其实和方法一差不多。git rm表示移除某个文件,--cached表示从暂存区中移除,如果不加该参数就是直接从工作区移除了。
git rm --cached filename并不会从物理上删除文件,只是从暂存区中将文件删除。由于该文件原本已经被版本控制了,使用了该命令后,虽然保留了工作区的该文件,但是却会在暂存区中生成一个删除了该文件的记录,如果此时进行commit,就会把版本库里的该文件给删掉了,如果push到远程库,也会被删掉。最终还是走的方法一的路子。
远程仓库连接权限问题 403错误 方案一 windows系统下清理系统存储用户密码,运行
rundll32.exe keymgr.dll,KRShowKeyMgr
方案二 1.在代码的.git/config文件内[remote “origin”]的url的gitlab域名前添加gitlab注册时的“用户名:密码@”
2.这个用户要在对应项目下的角色是Owner或Master才行,如果是Guest、Reporter、Developer,则如下操作后也是不行。
方案三 改成ssh方式
LFS: Authorization error 在 .git/config 中增加
[lfs &quot;https://git.lug.ustc.edu.cn/chendot/libbar.git/info/lfs&quot;] locksverify = true access = basic Pull 冲突处理 git pull 远端到本地冲突时,大部分IDE git插件会自动完成冲突比较。
如未生成自动比较结果也可参考如下处理: stash(将本地代码隐藏保存)-&gt; 重新 pull -&gt; stash pop -&gt; 冲突修改
无法识别LFS管理文件 低版本git直接clone后可能出现无法识别LFS管理文件,可尝试如下方法解决:
# 在本地仓库目录下调用git命令 git lfs uninstall git reset --hard git lfs install git lfs pull 如果执行git reset &ndash;hard 回退版本的时候出现问题,可参考以下方法:</description>
</item>
<item>
<title>分支管理</title>
<link>/post/2019/branch/</link>
<pubDate>Thu, 15 Aug 2019 00:00:00 +0000</pubDate>
<guid>/post/2019/branch/</guid>
<description>建议规范 Git flow Git flow是一个定义良好的标准,但其复杂性引入了两个问题。
一是开发人员必须使用开发分支而不是主干分支,主干分支是为要发布到生产的代码保留的。将master设置为您默认分支的名称是一种惯例,绝大多数的其他分支来源于此,并最终合并于此。由于大多数工具会自动使用master分支作为默认分支,因此老是切换到另一个分支是很烦人的。 二是补丁和发布分支引入的复杂性。这些分支对于某些组织来说可能是一个好主意,但对绝大多数组织来说都是过度的。如今大多数组织都在实施持续交付,这意味着我们可以部署默认分支。这样就可以避免使用补丁和发布分支,包括他们引入的所有流程。
" title="git flow"
GitHub flow 此工作流仅具有特性分支和主干分支。非常简单和干净,许多组织已经采用它并取得了巨大的成功。 Atlassian建议采用类似的策略,尽管他们会修改功能分支。将所有内容合并到主干分支和部署通常意味着您最大限度地减少“库存”中的代码量,这与精益和持续交付最佳实践一致。但是这个流程仍然存在很多关于部署、环境、发布和issue集成的问题。
GitLab flow 带生产分支 GitHub Flow 确实假设您每次合并功能分支时都可以部署到生产环境。这对于SaaS应用程序是可行的,但在许多情况下这是不可能的。一种情况是您无法控制确切的发布时刻,例如需要通过AppStore验证的iOS应用程序。另一个例子是当你有部署窗口时(工作日从上午10点到下午4点,当运营团队满负荷运转时),你也可以在其他时间合并代码。在这些情况下,您可以创建一个反映已部署代码的生产分支。您可以通过将master合并到生产分支来部署新版本。如果您需要知道生产中的代码,您可以检出生产分支以查看。在版本控制系统中,合并提交很容易看到部署的大致时间。如果您自动部署生产分支,则此时间非常准确。如果您需要更准确的时间,则可以让部署脚本在每个部署上创建标记。此流程可避免git flow中常见的释放,标记和合并开销。
带环境分支 拥有一个自动更新到主干分支的环境可能是个好主意。仅在这种情况下,此环境的名称可能与分支名称不同。假设您有一个临时环境,一个预生产环境和一个生产环境。在这种情况下,主干分支部署在临时环境上。当有人想要部署到预生产时,他们会创建从主干分支到预生产分支的合并请求。而将预生产分支合并到生产分支则会触发代码的上线。这种变更提交(commits)只向下游流动的工作流可确保所有变更在所有环境中都经过测试。如果您需要cherry-pick一个包含修补程序的提交,通常做法是在功能分支上开发它并使用合并请求将其合并到master中,不要删除该功能分支。如果主干分支自动测试通过(如果你正在实行持续交付,那么它就应如此),之后你就可以把它合并到其他分支。在某些情况下,可能需要执行更多的手工测试(这导致无法执行上述的主干-&gt;预生产-&gt;生产合并的标准流程),那么您可以从特性分支发送合并请求到下游分支。环境分支的“极端”版本正在为Teatro创建每个功能分支的环境。
带发布分支 只有在您需要向外界发布软件时,才需要使用发布分支。在这种情况下,每个分支包含次要版本(2-3-stable,2-4-stable等)。 stable分支使用master作为起点,并尽可能晚地创建。通过尽可能晚地创建分支,您可以最大限度地减少将bug fixes应用于多个分支所花费的时间。在一个发布分支被公布后,仅有严重错误的修复能被包括在该分支中。如果可能的话,这些bug fixes应首先合并到master中,然后cherry-pick到发布分支中。这样你就不会忘记将它们cherry-pick到master中,以避免在后续版本中遇到相同的bug。这被称为“上游优先”策略,也是谷歌和红帽实施的策略。每次在发布分支中包含错误修复时,都会通过设置新标记来增加补丁的版本号(以符合语义版本控制)。有些项目还有一个稳定的分支,指向与最新发布的分支相同的提交。在此流程中,拥有生产分支(或git flow 的master分支)并不常见。
实践方案 常设三个分支:
dev:开发分支,开发人员日常使用,push和merge不受限制。 master:测试环境的稳定分支,用于构建测试环境。push仅限于bug修改,merge需要审核。 prod:生产稳定分支,用于同步生产版本。除了从master分支进行merge,不接受任何其它修改。 平时开发工作中,根据需要由开发人员创建两类临时分支:
feature-*:为了开发某个特定功能,从develop分支上面分出来的。开发完成后,要merge到develop分支。功能分支的命名,采用feature-*形式命名(*为任务单号) fixbug-*:Bug修复分支,为了修复某个bug,从常设分支上面分出来的,一般从生产稳定分支分出来。修复完成后,再merge到其他的分支。采用fixbug-*的形式命名(*为bug单号) </description>
</item>
<item>
<title>代码提交</title>
<link>/post/2019/git_commit/</link>
<pubDate>Sat, 10 Aug 2019 00:00:00 +0000</pubDate>
<guid>/post/2019/git_commit/</guid>
<description>.gitignore 配置 设置忽略规则,来过滤特定文件的提交。
常见场景:在使用git add .的时候,遇到把你不想提交的文件也添加到了缓存中的情况,如项目本地配置,push到远端仓库会造成其他人pull冲突;又或者将大量依赖的jar包等不需要做版本控制的文件push到远端,增加仓库存储负担。
为避免提交时误操作或手动过滤上述文件的麻烦,可通过在.gitignore文件中申明不希望添加到git中去的文件,这样当使用git add .的时候这些文件就会被自动忽略掉。
忽略文件原则 忽略操作系统自动生成的文件,比如缩略图等 忽略编译生成的中间文件、可执行文件等,比如Java编译产生的.class文件 忽略你自己的带有敏感信息的配置文件,比如存放口令的配置文件 忽略日志文件 忽略规则说明 # 表示此为注释,将被Git忽略 *.a 表示忽略所有 .a 结尾的文件 !lib.a 表示但lib.a除外 /TODO表示仅仅忽略项目根目录下的 TODO 文件,不包括 subdir/TODO build/ 表示忽略 build/目录下的所有文件,过滤整个build文件夹; doc/*.txt 表示会忽略doc/notes.txt但不包括 doc/server/arch.txt bin/: 表示忽略当前路径下的bin文件夹,该文件夹下的所有内容都会被忽略,不忽略 bin 文件 /bin: 表示忽略根目录下的bin文件 /*.c: 表示忽略cat.c,不忽略 build/cat.c debug/*.obj: 表示忽略debug/io.obj,不忽略 debug/common/io.obj和tools/debug/io.obj **/foo: 表示忽略/foo,a/foo,a/b/foo等 a/**/b: 表示忽略a/b, a/x/b,a/x/y/b等 !/bin/run.sh 表示不忽略bin目录下的run.sh文件 *.log: 表示忽略所有 .log 文件 config.php: 表示忽略当前路径的 config.php 文件 /mtk/表示过滤整个文件夹 *.zip 表示过滤所有.zip文件 /mtk/do.c 表示过滤某个具体文件 被过滤掉的文件就不会出现在git仓库中(gitlab或github)了,当然本地库中还有,只是push的时候不会上传。 需要注意的是,gitignore还可以指定要将哪些文件添加到版本管理中,如下: !</description>
</item>
<item>
<title>静态网站框架</title>
<link>/post/2019/0422-ssgs/</link>
<pubDate>Mon, 22 Apr 2019 00:00:00 +0000</pubDate>
<guid>/post/2019/0422-ssgs/</guid>
<description>Hugo 目录结构 ▸ archetypes/ # 包括内容类型,在创建新内容时自动生成内容的配置 ▸ content/ # 包括网站内容,全部使用markdown格式 ▸ data/ ▸ layouts/ # 包括了网站的模版,决定内容如何呈现 ▸ static/ # 包括了css, js, fonts, media等,决定网站的外观 ▸ themes/ config.toml ▸ resources # Caches some files to speed up generation. 文章:以markdown格式的文件存放在content目录下面
└── content ├── _index.md // [home] &lt;- https://example.com/ ** ├── about.md // [page] &lt;- https://example.com/about/ ├── posts | ├── _index.md // [section] &lt;- https://example.com/posts/ ** | ├── firstpost.md // [page] &lt;- https://example.com/posts/firstpost/ | ├── happy | | ├── _index.</description>
</item>
<item>
<title>地中海的故事</title>
<link>/post/2019/hydg/</link>
<pubDate>Tue, 12 Mar 2019 00:00:00 +0000</pubDate>
<guid>/post/2019/hydg/</guid>
<description>十字军东征
三大骑士团:圣殿骑士团,条顿骑士团,医院骑士团
罗德岛战役 苏莱曼苏丹,占领贝尔格莱德之后,通往匈牙利和中欧的通路已经洞开;夺得罗德岛,就是剪除了基督教在地中海东部的最后一座军事要塞。
以教皇名义守卫罗德岛及附属岛屿的是十字军东征时期的三大骑士团的最后残余——圣约翰骑士团(又称医院骑士团)。像圣殿骑士团、条顿骑士团一样,作为教会的武装力量,其成员向教皇宣誓终身保持清贫、贞洁和服从;他们的主要使命就是用不得歇的与异教徒斗争。
勒班陀海战 两支舰队向对方疾驰,那景象颇为骇人;我们的士兵的头盔和胸甲熠熠生辉,金属盾牌像镜子一样闪闪发光,其他的武器也在阳光下很是耀眼,出鞘利剑的光芒甚至在远处也让人眼花缭乱……敌人也是全副武装、雄赳赳气昂昂,同样让我们这边心生畏惧;同时那金色的灯笼和五颜六色、光辉灿烂的诸多旗帜也让我们惊异而蔚为壮观
涂个鸦 </description>
</item>
<item>
<title>我讨厌皮亚诺空间和科赫曲线</title>
<link>/post/2019/code-nature/</link>
<pubDate>Fri, 22 Feb 2019 00:00:00 +0000</pubDate>
<guid>/post/2019/code-nature/</guid>
<description><p>瞄了一眼《代码本色·用编程模拟自然系统》豆瓣书评区,似乎看得人并不多,部分评价低的我觉得要么是其水平太高,要么是没认真看完。写差评的好处就是让自己的水平看起来显得高。我庸俗,我肤浅,我向广大热爱编程、热爱理工科的初高中同学强烈推荐此书。作为一个不会写代码的准IT工作者,这是我看过的编程类书籍中最好的一部(掐指一算,除去学生时教科书,似乎看过的编程类书籍不会超过5本)。</p></description>
</item>
<item>
<title>Markdown中的数学公式</title>
<link>/post/2019/markdown-math/</link>
<pubDate>Sat, 02 Feb 2019 00:00:00 +0000</pubDate>
<guid>/post/2019/markdown-math/</guid>
<description>markdown中公式编辑教程
Markdown数学公式语法</description>
</item>
<item>
<title>又是一年</title>
<link>/post/2018/tul/</link>
<pubDate>Fri, 07 Dec 2018 00:00:00 +0000</pubDate>
<guid>/post/2018/tul/</guid>
<description>探索伊始,我心已醉。
只说那微妙的知觉,形态,力量,
只说那轻巧的昆虫,动物,
还有感受,还有目光,还有爱,
都让我由心敬畏,欣然忘食。
我止步不前,不再期待远方,
我要留在这里,用狂喜的曲子,不住地歌唱。
鄙夷良久,幡然醒悟,惊叹一声失敬</description>
</item>
<item>
<title>画家情节</title>
<link>/post/2018/hack-painter/</link>
<pubDate>Mon, 12 Nov 2018 00:00:00 +0000</pubDate>
<guid>/post/2018/hack-painter/</guid>
<description><p>必须对解决难题的可能性保持乐观,对当前解法的合理性保持怀疑。
如果你能够平衡好希望和担忧,它们就会推动项目前进,就像自行车在保持平衡中前进一样。在创新活动的第一阶段,你不知疲倦的猛攻某个难题,自信一定能够解决它。到了第二阶段,你在清晨的寒风中看到自己已经完成的部分,清楚地意识到存在各种各样的缺陷。此时,只要你对自己的怀疑没有超过你对自己的信心,就能够坦然接受这个半成品,心想不管多难我还是可以把剩下的部分完成。</p></description>
</item>
<item>
<title>跨越九十光年的孤独</title>
<link>/post/2018/90b-light-year/</link>
<pubDate>Sat, 13 Oct 2018 00:00:00 +0000</pubDate>
<guid>/post/2018/90b-light-year/</guid>
<description><p>很喜欢阿瑟·克拉克的作品。多年前,读《再见拉玛》时那被文中极具画面感的场景层层带入的感觉至今让人回味。那个圆筒状的、反常规的太空船给我极大震撼,这才是太空长途旅行交通工具应有的样子。而今读完这部《遥远的地球之歌》,深深震慑于那宏大而深远的时空观,感动于那浩渺深空之中温情。</p></description>
</item>
<item>
<title>卡尔·萨根和他的宇宙</title>
<link>/post/2018/universe/</link>
<pubDate>Sat, 12 May 2018 00:00:00 +0000</pubDate>
<guid>/post/2018/universe/</guid>
<description><p>进化的秘诀就是死亡和时间。 我们好似只能展翅一日的蝴蝶,以为那一日就是永恒。</p>
<p>人类的一生以十年计数,而太阳的一生则以十亿年计数。与恒星相比,我们的一生好似蜉蝣,朝生暮死,一天即是一生。从蜉蝣的角度看,人类是迟缓的、无聊的,几乎完全不动的,好像全然静止似得。从恒星的角度看,人类只是小小的火花,在一个偏远寒冷的不规则固态硅铁球体表面上,微弱的闪耀。</p></description>
</item>
<item>
<title>所罗门王的指环</title>
<link>/post/2018/solomon-ring/</link>
<pubDate>Mon, 07 May 2018 00:00:00 +0000</pubDate>
<guid>/post/2018/solomon-ring/</guid>
<description><h2 id="有趣的知识点">有趣的知识点</h2>
<p>身处陌生的环境,这些鸟一般有些紧张。糟糕的是,它们一紧张,肠道运动就不正常了。灰雁紧张的时,盲肠排泄就会一次接着一次。</p></description>
</item>
<item>
<title>盲眼钟表匠</title>
<link>/post/2018/myzbj/</link>
<pubDate>Wed, 28 Feb 2018 00:00:00 +0000</pubDate>
<guid>/post/2018/myzbj/</guid>
<description>囫囵的读完《创造自然》,屁颠的拿起《盲眼的钟表匠》。第一章读下来就有种不装B不舒服斯基的范。理查德.道金斯不愧是心目中的装B大神,当年拜读其成名作《自私的基因》就佩服得不行。哲学思辨的行文,精妙有趣的引例,让人有种比大多数人先发现了一个隐藏极深的惊天大秘密的快感,拍案叫绝。
会写书的人总是很会举栗子,大神书中对会使用啁啾雷达蝙蝠的细致阐述让人印象深刻。大家都知道瞎子蝙蝠会使用声波定位,但大多数人都不会细想他们为什么要这么做,更难以臆测如果我是一只蝙蝠,脑中的世界会是什么样子——蝙蝠会以比机关枪更快的频率收缩肌肉以控制耳朵灵敏度,为的是错开发射与接受声源时间差,从而不因为声波强度变化过大而损害耳膜系统;蝙蝠会考虑多普勒效应的因素,结合回声定位的时间计算判断物体的方位、距离乃至材料质感;蝙蝠会在众多的同质或不同质的声波中区分出自己的声音,过滤掉不必要的‘杂音’……像大多数用光感知世界的生物一样,蝙蝠的脑子里应该也会根据声波定位建立外部世界模型,这个模型在蝙蝠的脑子里变现出来的,很可能和我们用眼睛观察这个世界而反应到人脑中的世界的类似。毕竟,本质上我们辨别颜色也是神经系统根据光波(其实也就是电磁波的一种)的波长,在脑中成型的模式中进行相应的信息注册的结果。蝙蝠利用回声定位建模,我们利用光线建模,那些外来的信息在进入大脑之前,都已经被翻译成同类的神经冲动。哲学家们的我思故我在不是胡扯啊。。。
电脑是想象力的有力的盟友。电脑就像数学,想象力不仅因而飞翔,也因而自律自制。
累积进化的章节让我对荒废多年的编程技能抱憾不宜,之前在卓老板节目中也听到过类似的内容,托现代计算机发展的红利,我们得以在傻瓜都可以理解的模式上形象的模拟演化历程。我知道简单的积累演化,随着时间的推移,注定会产生惊人的效果。今天章节读下来一个新的感悟是,死掉的方法总比活着得多。
关键句:死掉的方法总比活着的多得多。
单步骤选择&ndash;》累积选择 自然结晶+原始的有机分子之间的协助交互作用,可能促成了原始的复制子出现。
趋同演化&ndash;相隔遥远的两类物种,没有直接的血缘关系,但是生活方式和物种样式却十分相似。非洲的行军蚁和美洲的陆军蚁。狼与塔斯马尼亚狼(有袋类)。但是我们怎么能确切的知道他们没有血缘关系呢。要将成千上万个物种排列的树形结构,可能的组合不计其数,而真相注定只有一个,我们怎么肯定学者们笃定的某种分类方式就一定是正确的呢,换而言之,现在生物分类学能给我们多大的信心。
基因不是蓝图,而是实现一个过程的指令。基因和生物体更像是食谱和蛋糕的关系。蓝图可以根据实物还原,就像可以根据房子重构绘制蓝图。就算房屋改动或破损也可以按改变记录忠实记录反录。
分子遗传学&ndash;像挑剔的印刷工人,对印刷品的字体极为讲究,一丝不苟。 复杂的适应时候生命的特质,也是区别于生命与非生命的重要判断标准。</description>
</item>
<item>
<title>脑商,伤脑</title>
<link>/post/2018/ns/</link>
<pubDate>Wed, 28 Feb 2018 00:00:00 +0000</pubDate>
<guid>/post/2018/ns/</guid>
<description>脑商的测定——很有趣的一个概念,任何大脑也许都会有很大的一部分负责身体的日常运作,所以身体要是很大,就会需要很大的大脑。我们必须找出一个方法,将大脑中负责身体运转的部分除去,以剩下的部分当作动物脑量的指标。所谓享温饱则思淫欲,身体基本物质需求管理好了,才有剩余多出来的闲功夫胡思乱想。查了一下排名,人类和齿鲸类真是碾压对手。 不难理解,应该越是在复杂环境,获取生存资源越困难的物种,脑商往往更高。简单的说就是与动物的谋生方式有很大关系:以昆虫、水果为生的猴子的脑量比以树叶为主食的猴子脑量大。大概是因为树叶到处都有,不需要花多少脑力就能找到,反之昆虫和水果就不同了。整体而言,哺乳类动物中,肉食类的脑商通常比它们的猎食对象素食类来得高。
从地质年代尺度来看,动物大脑的演化往容量逐渐增加的趋势发展。但在任何时间点上,当时的素食类动物脑容量都比猎食他们的肉食类低(嗯,原来我爱吃肉还是有原因的)。素食类中脑容量较大的个体可能因为观察,反应更敏捷而获得自然选择的青睐,渐渐占据种群优势。同时,随着吃草类中的笨蛋越来越少,肉食类中的笨蛋更难喂饱自己和下一代,因此肉食类中脑容量大的个体又逐步脱颖而出淘汰那些不够聪明的。于是两类物种在相互的军备竞赛中亦步亦趋,共同进化。
受天择青睐的基因,不是因为它们内在本质,而是它们与环境的互动。这里的环境不单指无机的自然环境,更有物种间的交互,包括合作与竞争,此消与彼长。其中,物种间的这中军备竞赛又可以分为对称和非对称的两类,而不对称的军备竞赛比对称的更可能导致有趣的进化结果。对称竞争好似国家间核弹当量的竞争,追求目标一致;非对称竞争好似制导导弹和反导系统,它们之间来回的反制与反反制,造就出了极为精良细致的产品。
天择并不是一个简单的毁灭的过程,它也是创造的力量。</description>
</item>
<item>
<title>冰雪王国</title>
<link>/post/2018/bxwg/</link>
<pubDate>Fri, 16 Feb 2018 00:00:00 +0000</pubDate>
<guid>/post/2018/bxwg/</guid>
<description>本年度读的第一本长篇记实文学。
早有料到,书中描述的探险记录中一定不乏描写船员们极地探险过程中经历的种种苦难。只是一章章读下来,一直在思考,海员们承受了如此多的磨难,所得到的究竟是什么?本书除了记录这一行探险家们艰辛的历程外,也不像大多电影剧情中那样,极力刻意烘托队员们之间的冲突或兄弟情谊。
直到尾声章节,船长遗孀的一席话,让我深深感触探险家们的伟大。艾玛.德隆也一直在追问自己,珍妮特号的探险到底值不值:他们经历了那么多的艰险、苦闷、牺牲,却只在人类最终寻找北极圣杯的路途上前进了那么一小步。为了这么点的知识,让那么多的人付出了生命,代价是不是太高了?然而,人类的努力是不能这样衡量的。牺牲永远比安逸高贵,无私的生命在孤独的死亡中得到升华,世界因为苦难的赐予而变得更加丰饶。
人类迄今为止所有的学识与财富,无不是在一代又一代人小步的累积上堆砌起来的。先驱往往成为先烈,但我们不能就此忽略先烈为漫漫探求道路上做出的贡献。对未知的好奇和探索,推动着我们的文明不断发展向前,那些不畏牺牲,勇于探索的人们,是真正让人敬佩的英雄。</description>
</item>
<item>
<title>2017年书单</title>
<link>/post/2017/2017-read/</link>
<pubDate>Tue, 02 Jan 2018 00:00:00 +0000</pubDate>
<guid>/post/2017/2017-read/</guid>
<description>刻意练习 练习的时间是保障,但是不是关键。关键是方法。 学习是分层的,循序渐进的。在自身的不舒适区域练习,直到熟练掌握,再进阶到下一个不舒适区 永远使得自己保有在非舒适区域练习的动力 在舒适区域无需花过多时间练习,重复太多自娱自乐是休闲,不是练习 好的导师、教练不见得水平一定要高过徒弟,但是能在合适的角度提出问题</description>
</item>
<item>
<title>Creating a New Theme</title>
<link>/post/2014/creating-a-new-theme/</link>
<pubDate>Sun, 28 Sep 2014 00:00:00 +0000</pubDate>
<guid>/post/2014/creating-a-new-theme/</guid>
<description>Introduction This tutorial will show you how to create a simple theme in Hugo. I assume that you are familiar with HTML, the bash command line, and that you are comfortable using Markdown to format content. I&rsquo;ll explain how Hugo uses templates and how you can organize your templates to create a theme. I won&rsquo;t cover using CSS to style your theme.
We&rsquo;ll start with creating a new site with a very basic template.</description>
</item>
<item>
<title>(Hu)go Template Primer</title>
<link>/post/2014/goisforlovers/</link>
<pubDate>Wed, 02 Apr 2014 00:00:00 +0000</pubDate>
<guid>/post/2014/goisforlovers/</guid>
<description><p>Hugo uses the excellent <a href="https://golang.org/">Go</a> <a href="https://golang.org/pkg/html/template/">html/template</a> library for
its template engine. It is an extremely lightweight engine that provides a very
small amount of logic. In our experience that it is just the right amount of
logic to be able to create a good static website. If you have used other
template systems from different languages or frameworks you will find a lot of
similarities in Go templates.</p></description>
</item>
<item>
<title></title>
<link>/post/2019/maven/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/post/2019/maven/</guid>
<description>新建项目 新建maven项目 select from archetype
mvn archetype:generate -DgroupId=com.cj -DartifactId=webAppDemo -DarchetypeArtifactId=maven-archetype-webapp -DinteractiveMode=false 意思就是我们通过archetype插件创建一个webapp项目,项目的groupId是com.cj,项目id是webAppDemo.使用的项目archetype是maven-archetype-webapp。也就是一个java web项目。interactiveMode= false,代表在执行过程中,用户不能进行输入操作。默认是true,需要用户进行操作。
Ant 转 Maven maven 安装目录
Bin:该目录包含Mvn运行的脚本
Boot:Maven自身的类加载器框架
Conf:包含非常重要的文件setting.xml
Lib:该目录包含了所有Maven运行时需要的Jave类库
Mvn help:system(该命令会打印出所有的Java系统属性和环境变量)
~/.M2 maven本地仓库</description>
</item>
<item>
<title></title>
<link>/post/2020/docker-weblogic/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/post/2020/docker-weblogic/</guid>
<description>参考:
https://blog.csdn.net/bjywxc/article/details/104031875</description>
</item>
</channel>
</rss>