因为孕育宝宝，一年半没有出去旅行。在媳妇产假即将结束之前，休了一周长假，去甘南川西玩了一圈。下文简单记述本次旅行的一部分总结，供大家参考。先发一下出发前的规划，大体是这样。① 北京->兰州(拉面)-200km->拉卜楞寺（住夏河县）② -30km->甘加秘境-30km->桑科草原-100km->郭莽湿地-40km->郎木寺（住郎木寺镇）③ 郎木寺-90km->扎尕那(第1天)（住扎尕那）④ 扎尕那(第2天)（住扎尕那）⑤ -100km(2h)->若尔盖花湖-140km->若尔盖草原、黄河九曲第一湾(日落)（住唐克镇）⑥ -200km->阿万仓湿地、娘玛寺-120km->各莫寺（住阿坝县）⑦ -30km->莲宝叶则（住阿坝县）⑧ 阿坝县-470km(7h)->成都(火锅)->北京八天七晚，全程驾驶约1600公里。本来计划莲宝叶则之后再去色达，也想在成都简单逛一逛，由于时间紧张，都砍掉了。第一天(17号)大兴飞兰州中川，东航MU2129，上午9点半落地。停车楼找一嗨租车取车，提前租的是一辆新8代高尔夫1.4T，结果前一天电话通知车不可用，反复沟通结果是给换一辆相同排量的新探歌SUV，后来证明幸亏换了SUV，不然有些路很难走。虽说这车带carplay，但怎么都连不上手机，好在带了一根苹果AtoL数据线，插线连接顺畅。一路行驶进入兰州市区，导航事先找好的吾悦广场安宁店，算是机场方向进城最方便的商圈，找到物美超市一番采购，主要是矿泉水、咖啡、自热饭、纸抽湿巾等等。然后找到最近的磨沟沿牛肉面，品尝地道的兰州美食。40几块钱，两个人吃得饱饱的，继续赶路。[...]
本文介绍百度云主机BCH多域名分别绑定不同子目录实现一机部署多站的nginx配置文件写法之一。BCH上原有一个example.com绑定在webroot根目录，最近想增加一个newdomain.com，与原来的网站分别放入两个子目录中。阿里云主机可以通过修改Apache的.htaccess文件中的rewrite规则实现，想必BCH也能通过修改nginx配置文件实现，于是一番学习nginx配置文件的语法规则。反复修改webroot目录下的bcloud_nginx_user.conf，怎么都无法实现想要的效果，百思不得其解。怀疑是不是BCH限制了一机多站，于是发工单询问百度技术支持，确认没有做特别限制后，继续探索。根据HTTP响应情况和log文件记录情况逐步调试，最终成功写出了完整的配置文件，实现了预期效果。下面将配置文件内容分享给大家参考。if ($host ~* (www.)?(example|newdomain).com) { set $subsite $2; }首先匹配绑定的两个域名example.com和newdomain.com，设置子站标识。同时在webroot目录中创建两个子目录example和newdomain分别放置两个网站的文件。location = / { root /home/bae/app/$subsite; if (-f $request_filename/index.html) { rewrite (.*) /$subsite/index.html break; } if (-f $request_filename/index.php) { rewrite (.*) /index.php last; } }将最常用的首页path=/匹配出来，设置文档根目录为上一步创建的子目录。如果子目录中存在index.html则重定向到子目录，中止匹配；如果子目录中存在index.php则重定向到index.php，继续匹配。location ~* \.(html|htm|js|css|jpg|jpeg|png|gif|svg|ico) { rewrite ^/(.*) /$subsite/$1 break; }处理静态文件，全部重定向进入子目录，中止匹配。location ~* \.php { root /home/bae/app/$subsite; if (!-f $request_filename) { rewrite (.*) /index.php last; } set $path_info ""; set $real_script_name $fastcgi_script_name; if ($fastcgi_script_name ~ "^(.+?\.php)(/.+)$") { set $real_script_name $1; set $path_info $2; } fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$real_script_name; fastcgi_param SCRIPT_NAME $real_script_name; fastcgi_param PATH_INFO $path_info; fastcgi_param SERVER_PORT 80; include fastcgi_params; }处理php脚本文件，把官方文档中关于server级配置中对php文件的处理，直接复制过来进行修改覆盖。增加第2~5行，设置新的文档根目录为子目录，如果脚本不存在，重定向到首页，重新匹配本规则；如果脚本存在，则转交给fastcgi处理。location ~* ^\/[^\.]*$ { root /home/bae/app/$subsite; # index index.html index.php; if (-f $request_filename/index.html) { rewrite (.*) /$subsite$1/index.html break; } if (-f $request_filename/index.php) { rewrite (.*) $1/index.php last; } if (!-f $request_filename) { rewrite (.*) /index.php last; } }匹配path为二级或多级目录的情形，寻找目录中的index.html和index.php，如果找不到也重定向到首页。注意这里不能使用index指令(第3行)设置默认首页文件，会产生循环重定向问题。将上述代码块组合到一起，就是完整的bcloud_nginx_user.conf文件，放入webroot根目录，重载站点即可。注意要清空控制面板中的默认首页配置，也就是bcloud_nginx_gen.conf中不能有重复的location匹配，不然会产生冲突。
大学时期刚开始玩单反就有一个梦想，将来有一天凑齐佳能大三元镜头，尤其那只小白(EF70-200F2.8)。可是当我毕业工作后，一是觉得钱难赚，花这么大一笔钱很犹豫，二是工作忙对摄影并不上心，搁置了很长一段时间。所以时至今日，时隔12年，才终于实现了这个梦想。卖掉了17年购入的6D、10年首批购入的EF24-105F4，保留了EF50F1.4和EF16-35F2.8，新购入R6mark2以及RF24-70F2.8和RF70-200F2.8，如下图是我现在所有的器材。
这次贵州游的第四天晚上，我俩驾车到达了西江收费站。出高速查贵州健康码是例行操作，然而当他们发现我俩的行程码有北京字样后，试图劝返我们，说苗寨这几天在过鼓藏节，不接待外省游客，这可真是晴天霹雳呀。我要求他们先放行，到苗寨进不去再说。于是在最后不到十公里的山路上，我不断打电话给景区和当地防疫部门沟通，得到的答复都是不能进。我仔细想了想，并没有因为鼓藏节活动拒绝所有外族游客，而是仅仅限制行程码有外省字样的游客，那这性质不就成了过度防疫嘛。毕竟我们已经按照贵州省的政策，实行了三天三检，绿码可自由通行。于是拨打贵州12345反映这个事，但是12345时效性慢，远水不解近渴呀，还是得想别的办法。这个时候媳妇已经把车开到了景区停车场，跟民宿管家沟通退房，并且在看景区外的酒店了。我不想重新规划所有后续的行程，也不想放弃这次进寨的机会，留下遗憾，那还是继续想办法吧。这时我发现线上已经买不了门票了，应该是系统对身份证号加了校验，那就只能尝试现场购票。然而我们到了售票大厅门口又一次被劝返，反复商量后，才进去在自助机上买到了票，好在自助机并没有限制身份证号。有票就好办了，停车场取行李，尝试过检票口这最后一关。幸运的是，检票口保安检查并不严格，我说了句“刚买票的时候查过了”，就放行进去了。惊心动魄，气愤又刺激。差一点就进不来，幸亏没有放弃。幸运的是赶上了十三年一次的鼓藏节，可气的是被他们搞这么一出。层层加码、过度防疫，但却又没能力落实、执行不到位。当时售票厅门口的人从手机里翻出一个相关通知的图片给我看，落款是景区运营公司，并不是防疫部门，差点就被唬住了。当然，进来是进来了，还是要严格做好防疫措施，及时做核酸，尽量避免聚集。[...]
几周前就已经春花盛开，但一直没时间出去，上周日下午去了前门前的三里河公园，尽情欣赏下这春日美景。[...]
在React或Vue中使用前端路由的history模式时，由于服务端会配合使用URL Rewrite技术，产生的效果就是，SPA页面多个path的请求实际返回的是同一个入口文件。GET https://idealecho.cn/spa/apath GET https://idealecho.cn/spa/bpath Response https://idealecho.cn/spa/index.html在页面采用强缓存策略的情况下，当服务端文件更新后，用户需要手动刷新页面强行使用协商缓存机制获取最新版本，并更新本地缓存副本。而浏览器对页面进行缓存，使用的key是请求中的path值，这就导致本地会产生多份入口文件的缓存副本，并且版本可能并不一致。在上例中，浏览器为/spa/apath和/spa/bpath两个path分别缓存index.html文件副本，last-modified或etag可能不同。除非用户对多个path分别手动刷新，否则很容易造成通过链接在多个path间跳转时，页面在新旧版本间变换。尤其当开发者对某个path做了自动重定向redirect，让用户很难对原始path手动刷新，也就没法更新对应的缓存。这样即便对其他所有path都进行了刷新，但只要通过前述path进入页面，都会得到页面的旧版本。解决办法：第一种，对入口文件index.html设置Cache-Control: no-cache以禁用本地缓存；第二种，服务端保存一个前端最新产出的版本号，页面定时拉取这个版本号与自身版本号对比，发现过期即刷新页面。
9月底，在装修公司刷工程款的时候，发现银行卡被司法冻结。这张卡是工资卡，也是日常用卡，余额还不少。发生这种事，突然难到了全家人，家人赶紧想办法紧急凑够了工程款，同时我也立即研究处理这张银行卡的问题。首先打电话咨询招行客服，得知是被芜湖市公安局冻结，系统里留了一个联系电话：055396110，也就是芜湖市反诈中心。立即打过去，告知我的银行卡涉电诈赃款，需要本人携带证件去芜湖市公安局解决，在北京无法处理。因为半个月前表哥从国外给我转过一笔钱，怀疑与这笔钱有关，就跟表哥联系，他说钱没问题让我放心。第二天上班就订了节后飞去芜湖的机票和回来的高铁，并准备银行流水和证明资金合法的材料。着急也没用，先好好过个节吧。节后第一天工作日，大兴机场出发，两个多小时落地芜湖。吃了口饭，直奔市公安局。结果因为事先没沟通好，到了市局才知道需要去镜湖分局，连门都没进去就又打了一辆车。到了镜湖分局，警察说正在处理一位跟我情况一样的，让我先等着。大厅里站了半小时，实在没耐心等了，就去门口看了看，果然是有个人在跟警察交谈。等了一会开始问我的情况，如实做了笔录，让我回去等吧，把缺少的证明材料邮寄过来。晚上跟遇到的遭遇相同的那个人一起吃了个饭，交流了下各自情况，并给我提了些建议。第二天跟媳妇一起在芜湖简单逛了逛，晚上高铁回京。回来后我立即邮寄了聊天记录等材料，然后电话询问警察，结果还是让等着，急也没用。那段时间资金实在紧张，倒来倒去，特别不方便，却又没有办法。后来表哥建议再主动跟警察沟通，提出限额冻结涉案的五万元，解冻其余的钱。于是写了份申请书，简述经过、提出想法并作守法保证，邮寄过去之后还是让等着。11月3日下午，开会的时候看了一眼招行APP，发现余额下方多了一条黄色说明，提示部分资金暂不可用，可用余额是多少，我一看正好比总余额少5万元，看来是解冻了，可喜可贺。持续一个多月资金紧张的窘境终于摆脱了，翻身农奴把歌唱。总结一下这件事的教训就是，境外汇款一定要走正规途径，否则很容易被不法分子利用。我这张卡涉及的案件正是一起“杀猪盘”电信网络诈骗案，受害人的5万元，几经流转到了我的卡中，所以才被警方锁定。虽然现在卡解冻了，但是限额冻结的那五万可能就一直冻着了。
家里装修换掉了原来的塑钢窗，对断桥铝窗的选购略知一二，罗列如下，仅供参考。① 型材厚度一定要60mm以上，70mm最佳② 隔热条一定要尼龙PA66③ 铝条要一体折弯④ 五金要丝吉利娅、诺托或德国好博⑤ 隐藏合页、防撞角、平开内倒⑥ 玻璃一定要钢化玻璃，带3C标志⑦ 对隔音要求高，就三层中空夹胶，否则双层中空即可⑧ 纱窗要金刚网，304不锈钢材质⑨ 价格一分钱一分货，至少千元每平米能保证质量⑩ 尽可能实地考察工厂，至少要看样品断面，并签订合同写清楚要求
十月份在12123上选了一次京牌，积累了一点经验，本文将经验分享出来，供有需要的朋友参考。目前北京市的选号途径，分为大厅现场选和互联网选，互联网选又分为随机选和自编排。大厅现场选基本就是看运气，没有可操作空间，下文主要对互联网选进行展开讨论。互联网选可以通过网站，也可以通过APP，功能和操作流程都是一样的，只是界面交互略有差别。首先，官方有一个互联网预选号牌号池公布页面，上面列出了以每天大概2-4次的速度公布的新号段，每个号段100个号码（究竟是不是100个，还有待考证）。重点来了，页面上有一句关于规则的说明：每种号牌种类首次投放的号段，自投放时间起，提供自编选号和随机选号方式，之后再新投放的号段，自投放时间起，7日内只提供随机选号方式，超过7日的由系统随机投放到自编选号池，提供自编选号和随机选号方式。前半句，每种号牌首次投放，这个“每种”的定义官方没有说明，如果是按首字母定义种类，那现在首字母就是确定的那么几个，根本没有新的种类出现；如果是3个字母组合在一起算一个种类，那么如果没有历史数据作为基础，也很难分析出新公布的号段是不是新的种类的首次。因此前半句基本可以忽略，我们主要分析后半句。自投放时间起，7日内只提供随机方式，7日后的某一时刻增加自编的方式。什么意思呢，比如今天刚刚公布了一个ABC000~ABC099，那么在7天内，它们只出现在随机选号的选项中，7天后的某一天，它们中剩余的部分会被放到自编键盘上，接受自编选择。好了，规则解读完毕。下面换个角度继续：需要什么样的号码。第一种，需要尾数是固定数字，比如598、626，特别喜欢这个数字或者有纪念意义的日期；第二种，需要字母是固定组合，比如CHN、EDG，特别喜欢的单词或者姓名缩写；第三种，既要固定字母，也要固定数字，换句话说就是车号确定；第四种，没有固定组合，但要求是888、666、567，这种所谓的豹子号或者连号。按照实现难度排序，前两种最容易，但需要有耐心等待一定时间，第四种次之，需要有特别好的运气，周期较快，第三种最难，目前的规则几乎不能实现。先说第四种需求，自编不允许输入3个相同的数字，连续数字可以，所以有这种需求，最好的办法就是随机方式碰运气，身边确实有车友选到了888、999等，567这种连续号可以合并到第一种一起说。第一种，数字已经固定，字母组合选那些7天前公布出来的号段，如果自编键盘中允许输入，那么说明已经进入自编池，直接尝试即可；如果不能自编，可以继续等，或者选择其他字母组合。第二种，字母固定，这种情况一般是在列表中发现了中意的字母组合，然后等7天，频繁登录刷新自选键盘，一旦能选，那就立即尝试。第三种，如果固定字母部分是列表中新公布的号段，可以采用与第二种相同的方式，唯一区别是，数字已固定，一旦已被占用，就只能换其他数字，退而求其次。关于自编和随机的使用顺序，如果有固定需求，那么先自编，实在无法实现，可以用随机方式兜底，选一个还不错的号码；如果是无固定需求，那么先随机，靠运气选一个中意的组合，完全没有的话，再自编尝试。自编之前，建议按照优先级准备好号码排序，按顺序依次输入验证，因为一旦号码有效，会直接锁定，不给后悔的机会。所以为了不留遗憾，一定要科学有序验证，而且不要重复验证，以免浪费有限的机会。关于京A，目前来看，互联网预选，完全可以满足，没有必要迷信黄牛花费高额代办费。除非要求过高，那其实黄牛也未必保证能实现，也是利用他们的经验优势以及对上述规则的解读，靠运气实现的而已。我本人最喜欢的组合是ARS695，既是京A、还包含RS6、也能以95结尾、九五之尊，同时组合中还包含代表自己和爱人的字母，美学上整体排列也比较平衡。但是，这个ARS6号段分给了大型车，实在是遗憾，我想众多RS6车主也会同感遗憾。后来发现新公布的ARK6也不错，ark是诺亚方舟，如果能搞定ARK695也十分满意。于是按照上面的方案，耐心蹲守。最终历经13天的等待，10月25日下午，此号段进入自编池，但遗憾的是695已被选走。经过一些列尝试，最终在尝试682的时候被锁定。虽然不是最想要的，但也很满意，京A无4、ark方舟加持、682全是偶数，已经尽力，认命了。分析我失手的原因，第一，号段进入自编池之前是被人随机选过的，存在很大概率被人选走，这是规则所决定的，无法改变；第二，因为手动登录刷新自选键盘的速度慢，这个过程实际上应该借助计算机脚本程序自动完成，人手毕竟不如机器快（与TB上的黄牛沟通也会发现，实际上确实有人在这么做）。如果未来有一天摇号中签了，再次选号，规则还没变的话，我会尝试一下计算机辅助。本文到此结束，希望对即将选号的你有所帮助。
婚礼暂定于2022年5月3日举办，倒计时182天，敬请期待。