阿烫的后花园

烫烫烫烫烫烫

今天有个叫竹子的人类女性朋友来我家做客

欢迎竹子来我家,
芳草萋萋绿如染。
她如春风拂面至,
美丽动人心底深。

她眉如远山峰,
眼似明月皎洁明。
声音如流水潺潺,
韵律动听心旋律。

竹子聪慧如明珠,
才情出众胜群芳。
她的笑容如阳光,
温暖照亮我生涯。

欢迎竹子来我家,
友谊长存永不变。
愿我们共度美好时光,
心灵相通情意绵。

在经过了若干年以后,Blog 的文章没更新多少,但部署方式倒是又更新了,挺勤快的…

老版本

上个版本的部署方式虽然觉得有点啰嗦,但易用性是最好的。其理念是所有的文章 md 数据保存在 database 中,有一个后台 admin 页面可以用于更新 blog。

有前端页面那就一定有后端服务,没错,有个 Java 写的 CRUD 服务,在更新文章至 database 的时候,会同时在服务器中写 hexo source file and generate the hexo public files.

(画外音 后端需要配置 hexo 所在根目录

此 deploy architecture 的优势:

  1. 在任意一个有浏览器环境的地方,你都可以随时的写 blog
  2. 文章上传图片资源非常方便,复制粘贴即可上传至 阿里/腾讯云 对象存储,且返回资源 url

缺点:

  1. 需要自己撸一套 前端 + 后端代码,存在一定工作量,且不少。
  2. 需要维护一套额外的 database, Java 服务也很吃内存,地主家余粮太少了
  3. 需要配置 Nginx, 前端域名,后端 Api 以及 hexo public 资源域名
  4. 维护 ssl 证书,免费的 https 证书每三个月就会过期 (国内太恶心啦)
  5. 迁移复杂,由于经常到处白嫖低价服务器,所以每次服务器迁移都需要重新配置前端资源以及 Nginx
  6. 由于迁移,每次都需要在新物理机上安装 hexo 以及 next 主题,如果版本差距大,可能要处理配置兼容问题

之前为什么想维护在 database 呢,因为觉得我之后可能不用 hexo 用其他的了,这样我迁移就非常简单,实际想多了。。。

当前版本

目前版本的架构是在本地 hexo init 并进行完个性化配置后,将所有文件 push 到远程仓库
通过 Vercel 托管部署,将最新文章推送到仓库后,Vercel 将自动触发构建。

优点:

  1. 可自定义域名,自动托管 ssl 证书
  2. 无需任何前端、后端、database
  3. 通过 github 保存文章数据
  4. hexo 以及 next 版本、配置都维护在仓库中,不需要动不动重新安装升级了。
  5. 无需服务器资源,再也不用迁移了!

缺点:

  1. 只能在自己电脑上写 blog (git 环境)
  2. 图片上传功能不是很友好 (正在探索方案中)

由于我的 blog 有一个页面是自动生成的,会自动拉取最近更新的十篇文章,将其链接放在首页,这部分是有一些逻辑的。

当然,这样难不倒我,我用 python 写了个git pre commit 脚本,该脚本会计算最新的十篇文章,并更新那篇文章的内容。

为什么会发生这件事?

因为我的这套前后端系统也给我朋友用了,他瞎鸡儿改前端,美名练手,结果前端被他玩坏了,改的东西只改了一半,没时间不改了,(至少我这无法 work,他那没问题),前端无法直接回滚,因为后端接口变更也很大,没有做好版本控制。我给他提了十个bug,他都没修好,实在懒得折腾。导致我一年都没发用这套系统写文章。

于是在某个无聊的下午,我花了一天时间迁移到了 Vercel。很爽!

独库公路是一条从独山子出发,到库车结束的一条公路,有是中国最美的一条路。

念念不忘的独库骑行终于来了,去年三月就开始想着了,那时还在美团,考虑到请不了那么长的假期(总共要十天),于是在七月末跳槽成功,有了一个月的GAP,但在出发前两天,伊犁疫情了,机票被迫取消。好在现在公司年假够多,这次才终于才骑上了这条路。

当当当当!!! first of all. 首先没有 567 km,实际全长561米,只是我喜欢刺客伍六七,觉得很顺口,就写了 567。

MVIMG20230709233711.jpg

然后给出一个路上拍的延时视频,好像被压缩的很厉害,凑活看吧!精华先放出来,

7.1 到达地窝堡

整个行程,和我弟弟一起。这一天,就是坐飞机,各自飞到乌鲁木齐地窝堡机场,我的行李特别重,称了一下,书包净重20多斤。下午六点,八点分别到了机场附近预定的酒店。

在这里,感受到了三小时的时差,晚上十点,天还是亮的,大约十一点才黑下去,我们笑着说,这太适合熬夜党来了,都不用调整作息。

到这里的时候,感觉这里真的人均迪丽热巴,大家五官都非常立体,非常好看。

晚饭也在酒店附近吃的,附近有个小区,小区里面有一条街,各种美食,米线,手抓饭,馕,非常的多。吃了油泼辣子拌面,很美味。 逛了逛街,这边的西瓜超便宜,2元/公斤,买了个西瓜只花了12块钱,非常甜,我们战斗力有限,两人才吃了1/4的样子吧,很浪费的感觉,心有余而力不足。

MVIMG20230701183756.jpg

MVIMG20230701204936.jpg

拍摄时间为 20: 49, 这大太阳超级晒。

MVIMG20230701212010大.jpg

MVIMG20230702223932.jpg

大本营,有非常多的车在这里。

7.2 独山子

这一天,我们从地窝堡坐火车去独山子,大约俩小时,三点左右到达独山子预定的酒店,从火车站到酒店一般都是固定的50元打车。到达酒店修整修整,就去517租车了,480元/8天,价钱也合理,517驿站也就在酒店旁边,很方便。晚上,我们骑着共享电瓶车,去了独山子大本营,到处都是车子,那里有个夜市,我们没去,据后来的小伙伴说,那里非常热闹,人很多,羊头羊杂应有尽有。我们去的一家烧烤海鲜自助,一人80多,有羊蹄,有海鲜(全冰冻,不作奢望)。尝了一些奇怪的饮料,如三大炮。

MVIMG20230702124228.jpg

去迪卡侬买一些东西,差点没赶上去屯奎的火车。

MVIMG20230702223932.jpg

独山子大本营,超多车子在这里,很热闹。

7.3 乌兰萨德克

这是骑行的第一天,按计划77公里,目的地是乌兰萨德克(乌苏啤酒产地好像),觉得还行。一出门嬉皮笑脸的,但此时还没有意识到事情的严重性,骑了几分钟拐了个弯后,就是一路上坡。image.png

趁着还没有很累,下面将展示下镜头优秀的虚化能力,刀锐奶化!

image.png

话说回来,这直接就是一条30公里的上坡,是个下马威。骑到20公里处,运气不好,我的后车胎被炸了,瘪了,喊了裴乐一起来补胎,花了大约半小时,新技能get。

MVIMG20230703133642大.jpg

MVIMG20230703135054大.jpg

30 公里的上坡,非常的折磨,第一天身体还没准备好,有时候骑得还恶心,需要停下来缓缓。出汗也很多,没有补充足够的电解质,后面的几十公里我的膝盖上面的腿部分,一直在不停地抽筋,如果骑着还行,一停下来站着的时候,立马抽抽,非常折磨人。

路上遇到了很多骑行的朋友,有很多妹子,还遇到了个本地大姐,轻装骑行,她说我们很厉害哦,三十公立后面就是十公里的下坡了,这也算是很大的鼓舞了吧(指下坡)。

这上坡熬了很久,大约骑了5个小时,从早上九点半,骑到了两三点多,变速一直都是 1-1 1-2 左右。这才迎来了下坡,10公里真的太爽了。

路上结识了3个小伙伴,都是大学生,一个今年毕业,一个大二,马上去华为实习,大二的这个骑车很猛,代表学校参加过骑行比赛,大家都带着镜头、无人机之类的。我们一路上都是在一起骑,互相超一超的那种。

十公立下坡后,还是漫长的上坡。整个第一天就是非常绝望,,,,我一直以5码的速度上坡,骑累了就下来腿,推到手酸走不动了,就上车骑,还伴随着不定时的抽筋。。。

image.png

(站不起来了,坐在路边喝水)

大约在晚上十点半左右,我们离目的地只剩了3、4公里的距离,此时天已经快黑完了,所有人都被磨的差不多,都没力量了。我在最后3公里处,看着远处的大上坡,我知道,只要过了这个坡,今天的任务就结束了,于是坐下来吃了包干脆面想补充点能量,吃完后发现突然就起不来了,又黑又累又冷腿又软,想着干嘛受这罪,果断打了救援电话,一分钟后,司机就来到我这位置接到我了(有车就是好啊)。但他还继续往前开,和我说,前面17公里处还有个哥们也叫了救援(没想到比我还菜,平衡了一些)。。。。。这谁顶得住,还说刚刚骑来了一男一女,女的车子都扶不稳了,人都要别人托着。师傅和我说上来的路上,我都吆喝了帮你们托运行李,你们都不,行李那么重,如果空载,能省30%左右的力气,能提前很久到达目的地,沿途也有补给,卖水的卖吃的,不需要装太多东西在书包的,我听了觉得很有道理,但我还是选择装很多吃的。。。毕竟踏实。其他还聊了很多。

师傅接完人,来回34公里,一直在山上绕啊绕,我人都要吐了,到了驿站后,完全没胃口,去了房间直接就躺下了,充电,洗衣服晾衣服,收拾砣包,全是裴乐再弄,给力。

一觉睡到了第二天8点多,非常舒服。

一直忘记了说今天的景色,今天全是石头山,灰秃秃的,还有那种矿广场,施工队,没什么好看的。

MVIMG20230704094052大.jpg

MVIMG20230704094100大.jpg

7.4 乔尔玛

今天的路程,昨天也看了,共57公里,目的是乔尔玛,听着很简单哈,但一出门也是30公里的大上坡,昨天的坡度是3-4, 今天的坡度就是 5-8°左右,难度是昨天的两倍不止。昨晚和驿站老板说了,今天会拉我们上去,一共6个人搭车,包括昨天认识三个小伙伴中的一个。在坐车的时候,远远的就能看见远处的上坡一个接着一个,很庆幸选择了搭车,咱是来玩耍的,不是来玩命的。

MVIMG20230704095013自定义.jpg

大约开了将近一个小时,我们到达了最高点,师傅把我们放了下来,剩下27公里全是下坡,我们自己骑,非常爽。

image.png

image.png

(在云中 ↑)

MVIMG20230704110215自定义.jpg

image.png

image.png

image.png

image.png

今天的景色全是雪山🏔,因为时间很多,我们一路拍照一路骑车,和三人组搭车的那个小哥一起,拍了很多美丽的风景,很满足。中午的时候也是在路边的小摊上点了一些牛羊肉串,还有一只狗狗,有一幕特别美的view,它在远处的草地上玩一个矿泉水瓶,跑来跑去的,就像画一样。我想,这里才是养狗的好地方吧,才能在这里感受到自由,做个幸福的娃。

MVIMG20230704132751.jpg

image.png

MVIMG20230704132859.jpg

image.png

image.png

下面有一条小河,弯弯曲曲的。想溯溪而行,但没路下去。

image.png

往前走就到了今天最美的一段路(在未来几天也很绝),多少有点审美疲劳:

image.png

image.png

image.png

image.png

image.png

大约五六点的时候我们到达了目的地,乔尔玛,有个大哥在服务区旁边拉客,我们去看了看蒙古包很不错,两个人两张床300块。这家店后面有个超大的牧场,还是个山,很多牛羊,我们进去逛了逛,里面有很多洞,应该是土拨鼠的,草里还有很多奇怪的声音,像响尾蛇一样,我们比较怂,听到声音就绕道走,结果到处都有声音,这应该不是蛇 了。

然后回来骑了会马,老板说不会坑我们,让我们随便骑,按人头算。我和裴乐一人就骑了十几分钟的样子,怕被宰,老板一直不告诉我们怎么算钱,最后一人收了50,想想一个人起码能骑半小时才对,亏大发了。

MVIMG20230704164047自定义.jpg

MVIMG20230704164450自定义.jpg

MVIMG20230704165237自定义.jpg

image.png

image.png

(在这里生活多幸福啊)

这家店的老板还有两个女儿,和我们聊天说羡慕内地人的生活,我们说我们羡慕你们呢,天天这么美的景色,也没有特别大的压力。她说她羡慕内地人白hh。

有个女生没有见过相机,然后让我教她用相机,教她了一会基本知识,以及如何操作,她们很感兴趣。然后她们就互相拍照了,大概这才是她们的目的吧哈哈哈。让我帮她们拍合照,于是给她们拍了美美的照片(五官太立体了)。和她们开玩笑,一张照片50,她们商量了一会竟然真的要转我,连忙解释,说明天早饭给我们加点肉吧,她们也开心地同意了。

展示下裴乐的帅照!没记错的话是那个女生拍的,果然人帅怎么拍都好看。

image.png

晚饭点了手抓羊肉,皮辣红,羊肉拌饭,吃得很满足。新疆这边皮辣红是个特色凉菜,每家店都有,清凉解腻,就是用青辣椒加西红柿加点调料拌一拌,都是生的,当然也少不了很多大蒜。

MVIMG20230704193020自定义.jpg

吃完饭基本就在庭院里坐着,老板有个大功放喇叭,放着一些本地的歌曲,晚上也会有篝火舞会。在庭院里修了会图,这边天气变化很快,雨来的快,去得也快,等晚一点的时候都在蒙古包里休息了。

这家住宿,有两个洗澡的小房间,水超级小,花洒只有中间的几个孔出水,另外一个房间也是只有中间的几个孔出水,但没劲,尿尿都比它远。洗衣机也没入水口,直接用花洒放,洗个衣服可急死我了。

一些路上的其他view:

d6569420a38bdcfb3fbaaeca6311c505.jpg

0466dd0e78f48a06c6fc8504dc5fc153.jpg

3d67bdfe90807de0204f1003512d7c98.jpg

586f85dbddda5980120722062347fd29.jpg

8e99a7f20a6490457c7c7e159fabb8df.jpg

这牛羊就像长在山上一样

3f7c170c09ef90094d41a9d0ddd23e9a.jpg

d1515114ee569d0a2267e1ce5d0625a6.jpg

c00da89ffcabeebcbe7daaa7f35ff31e.jpg

7c999cb2b2938a3d7dfa9472f4f94ffd.jpg

image.png

image.png

这家店是新开的,老板说路口做的那个立起来的蓝色的那种公路牌子就花了十几万,,,离谱,但环境雀氏不错。有趣的是,一路上遇到很多本地人,都是xj是治安最好的地方,去哪玩都放心,送过我们的出租车大姐也是说车直接放山下,人可以上山徒步放心没人偷的。结果这老板和我们说,我之前也骑车,后来自行车放家门口被偷了,偷了,了,,,,, 捂脸、

晚上大约十一点的时候,点起了篝火,一群人在舞台上跳舞,这里的人是有跳舞天赋的,很好看。这次来我还一直想着能拍一次星空,这里没有光污染,且云少,于是在十二点的时候把相机搬了出来拍了半小时延时,可惜没拍到银河,拍到了清晰的北斗七星,毕竟是满月,略微可惜吧。

image.png

一抹晚霞与浪漫的星星

image.png

晚上的时候有篝火晚会,大家在一起跳舞,(新疆人跳舞是有天赋的!

第二天一早,我们八点起床,结果做饭的那两个妹子也没起床,不好意思叫,就让另外一个早起的男的做了点饭,emmm,不是很好吃,奶茶的盐也放多了,吃不惯,馕也很硬,没其他东西了,就馕泡奶茶吃。

然后呢,另外三个小伙伴今天是准备在这住一天修正,那两个狠人太累了。。。因为今天是超长大上坡,坡度还是前一天的三倍。他们俩早上九点多出发,一直到骑到晚上九点多才到山顶,然后一个小时速冲到山底,什么景色都没看到太可惜了。到这后立马就躺着了,需要修整一天才行。

7.5 那拉提

今天的路程是骑到那拉提,全程90多公里。全程只有十几公里上坡。今天全程阴天,天气不热,有时候还会冷,如果停下来的话。现在看到十几里的上坡都感到开心了,因为是只有10公里,而不是三十公里。上坡的时候还遇到了另外几个大叔, 他们全是重装,带了帐篷。聊了聊天,发现库车不是他们的终点,他们还要继续骑,有条新开的国道,G多少忘记了,说最终会骑到拉萨,我只觉得牛逼!

今天一出门的景色是非常美的!也体验到了什么叫阴雨不定。只要你的头上有一片乌云,就会下起小雨,冲锋衣防水很好,没什么担心的。往前骑个十几分钟,可能就晴天了。

image.png

image.png

image.png

有几只鸳鸯在路上

image.pngimage.png

爬到顶后,还有个42公里的大下坡,我记得没错的话是42。人生第一次感受到这么爽的下坡,放得整个人都腰酸背痛,手都按麻了。一直放啊放,都有那种怎么还没还没到底的感觉了,我想蹬两脚活动活动啊。到最后快放坡完成在路边休息的时候,一个新疆大哥和我们打招呼,一人给插了一杯酸奶,还给了香蕉,馒头,非常热情,和我们聊聊天,想把我们给送下去,被我们拒绝了hhh。后面的还有十几公里都是平路,骑得也非常轻松。在这停了一会,还发现了几只土拨鼠,在远处发呆晒太阳。

路上我们聊天说笑,今天如果是和我们反方向骑行的人,那一定爽死啦!四十多公里的上坡无比酸爽。

今天风景很美,全程都是那种草甸,杉树,小溪(冰山融雪),溪边有些很多牛马羊,蒙古包,就是一幅幅画,牛羊都长在山上一样。

image.png

中午在小摊上吃羊肉串的时候,有本地大哥告诉我们不远处有冰山雪莲,有幸拍到!

image.png

很多骑行者:

image.png

路上就一直在想,在北上广卷的意义是什么呢,人家有一大片牧场,每天就放牛放羊骑骑马,天天都能看到这么美的景色,奋斗几十年还没有人家一个蒙古包大。

MVIMG20230705132258自定义.jpg

如果你堵车了,那前面一定是有牛羊过马路!

image.png

image.png

image.png

到下午四五点的时候我们来到一个十字路口,往右是218过道往那拉提镇走,有很多吃的住宿的,但一路都是大车,非常危险,去那拉提要20公里,想想还是算了,明天还要再骑20公里回来,于是就在附近217、218国道交叉路口有个莫合买江度假村,这个地方一言难尽,将近300包了个房间,四个铺,很小。房间里信号极差,视频经常都刷不出来。然后出去洗澡,洗浴也还在装,到了晚上十一点多才说我们可以去洗澡了,去洗澡也没热水,俩个浴室一个有门,一个没门,有门的还锁不住只能虚掩。老板说等十分钟才能烧热刚有人洗完。等了十分钟后还是那个样子温乎的,就随便刷了个牙睡觉了。非常糟糕的一次住宿体验。

7.6 巴音布鲁克

从那拉提骑到了巴音布鲁克。这天是30公里的上坡,全程57公里,好在坡度比较缓,比第一天好多了,全程都是2-2左右的速度蹬的。这今天下来可以说是已经麻了,看见30公里的上坡都已经没什么感觉了,就慢悠悠地往上骑,偶尔抬头看看,哇上面又好大一个坡。因为是一路上去,周围的云都很很漂亮,离的非常近。快到顶部的时候,有很多蒙古包,很多车在那停着休息,还有卖哈密瓜的,十块钱一个,整了一个。 这瓜剖开后流了好多水,本以为会很粘手(按经验),但实际上一点都不。还去别的地方点了几串羊肉,坐下来一口羊肉一口哈密瓜,可别提多美了,这瓜多汁又甜,不愧是新疆产的。

image.pngimage.pngimage.png

image.png

中午吃完修整好,又继续爬坡,这次只爬了一个小时终于到了山顶。因为每次都是爬这个坡的时候,都觉得是最后一个,因为看不到下一个坡,但实际每次都是爬过去发现后面还有一个被挡着了。。。 这次裴乐提出要不要堵后面还有没有坡,赌一顿明天的早饭,我赌没有,裴乐赌有。爬过去后,没发现上坡我很开心,但还要往右转一转才能看看后面有没有更大的上坡,过去之后发现还是下坡,我们都超级开心。于是就继续往下走了,路上遇到一个对面骑过来的兄弟,我们问后面是不是下坡,他说是的,我说后面也都是你的下坡了,大家哈哈一小。两个相向而行的骑手,在山顶相遇,那是何等的快乐啊,无需言语。

下坡了一段时间后,后面就是草原地貌了,这才是真正的 windows 桌面啊。四周都是雪山,中间是洼地,血水融化汇集到中间,这才形成了这片草原。

沿途半个多小时都是这种美景。image.png

晚上的时候到了巴音布鲁克的镇子上了,我们住了个小蒙古包,只要200块,只有一个床。过去的时候,老板正在做包子,我们点完了晚饭,说能不能买几个包子,它们真的很诱人。老板非常大方,说不用钱,来吃来吃,我们客套了一下,一人吃了一个,非常的香,纯牦牛肉馅的,里面还有很多汤水,香!吃了一个还想吃一个,但但不好意思要,老板说再吃一个,一人又给我们塞了一个,香!非常的热情! 点了饭后裴乐又拿手机去付钱,回来时又拿了两个包子,哈哈一笑,说他怎么这样,然后光速消灭了。

然后呢,我又去架相机拍延时摄影了。这里的牧草真是绝了,没人去过的地方,一步走下去,能蹦出来几十只特别小的蚂蚱,蚊子也特别多,架相机五分钟被咬了十几口,镜头上都趴着蚊子,估计是第一次见到人吧。后面也遇到很多牧场,一走上去都是蹦出十几个小蚂蚱,一直想,这边为什么不养鸡呢,不用那种大规模的养鸡场,每家每户养个十来只走地鸡,都不用喂饲料,天天吃蚂蚱这种蛋白质吃到饱,可以说是小鸡天堂了。这样对牧场也更好。

然后我们就洗澡了,这是出来以后洗的最爽的一次,水一开就是热的,水劲还超级猛,裴乐鞋也带进去了,结果都湿透了。洗完之后出来有人问是不是洗澡了,原来还要钱,20块一个人,很不爽,最后两个人给了30。然后洗衣服,这边的水有个大水桶,拧开来水就哗啦啦的流,用的超爽。

八点多的时候老板做好了饭,喊我们出去吃饭。今天晚上第一次尝试大盘鸡,超大一盆,还有两盘大宽面,拌着汤超级满意,这两天蒜也吃爽了,每次就着面吃,都能吃半头蒜。吃着吃着天气就变坏了,漫天的乌云,刮风下雨,越来越冷,菜也凉了,巴拉了几口就回屋了。不知道老板怎么算的钱,好像就155,我记得一个大盘鸡就130多了。

MVIMG20230706204334.jpg

裴乐一直在屋里给我看他的腿,他的足,各种因为太冷太热风吹得,若干种痘子都混在一起,实在是顶不住!

第二天醒来,裴乐发现我一直挤他,他都没位置睡了,我说看看被子,我这基本没杯子,他那边的被子都快掉下去了,笑死。

早饭还是包子,我们昨天提前和老板说了一人要6个,早上说可能没那么多,最后一人就3个了,3块钱一个,没吃爽。

7.7 巴音郭楞乡

很平缓的一天,几乎没有坡度,这天我们从巴音布鲁克骑到了巴音过愣乡。只需要骑50公里,全速的话只有蹬两个多小时就到了,所以我们早上睡了个懒觉,到十一点才出发,路上还拍了几个小时的延时摄影,这样四点多就到达了目的地,先随便找了个地方吃了碗面,然后再找住的地方。

路上的还遇到一个芒果摊,很多大芒果,在这吃了一个芒果,拍了拍延时也就走了。

MVIMG20230707124931自定义.jpgMVIMG20230707143637自定义.jpg

(偷拍睡觉,差点骑车睡着)

MVIMG20230707150148.jpg

今晚的蒙古包原价600,老板说给我们400,我们还是还了还价,老板说如果晚饭在这吃就300,遂成交。今天的晚饭也是点羊肉,这次是羊肉汤,很神奇,但味道也都一般般吧。

MVIMG20230707221211.jpg

东西放好后,我还是去拍延时,这次拍了很久大约三个多小时,但脚架没弄好,有点晃,后期增稳了。

发现他们白天也爱跳舞!雪山的背景映衬着,充满了自由与幸福!

一夜也没什么事,好在裴乐的脚,湿疹好了很多,开心。

7.8 库如力

第二天一早就迷迷糊糊的听到了雨声,一直下,我也就继续迷迷糊糊的睡。十点多的时候起来了,雨也没停。好像要下到十一点多。那三个哥们住隔壁蒙古包,我们商量要不要一起搭车。因为这雨还要很久才停,今天又有大约50公里的慢上坡,总里程是110公里左右。早上下雨耽搁了,如果还要骑的话,那就必须玩命瞪。

我们还是害怕失温,于是找了人送我们仨,另外三人只有第二天和我们一起搭车的一起。那司机原本开价500一人,那哥们扭头就走,后来谈好了价格,3个人400元,送我们到隧道。

中午我们出发了,路上和司机聊天,说六月份人还是很多的,七月份不知道为什么流量骤降,生意都不太好。还说我们住的贵了,按照这个客流量,一个蒙古包可以按200块砍,毕竟赚的少比没得赚好,蒙古包空着也是空着。路上还看到了气象局的俩车,搁那打炮呢,原来是人工降雨。。。。

司机还说这两年草也没之前好了,牛羊越来越多,雨水越来越少,前几年都是绿绿的,路边都长得很茂盛,现在路边都是石头了。

大约三四十分钟,给我们送到了隧道,本以为是到了顶点了,结果上面还有个隧道,那个才是最高点。所以还要蹬一段上坡,大约三四公里的样子。结果那个老哥是一点上坡都蹬不上去了,已有上坡就是推车上去,还说要拦车一点都骑不动了。不过经过我们的各种忽悠(马上就到),最终还是推到了山顶。

今天山上的景色非常美,都是雪山,往前看很美。无意中回头,看到更美的场景,一座雪山微微漏出一个尖尖,其余全是云雾。一路上也都是这种美景。这时候突然感谢今天下雨了,要不然也看不到这么美丽的景色。这一段非常心满意足。

我们问往我们这方向来的司机还有多久到顶,他说山上更美,趁没还没化赶紧去,大约还有1-2公里。听完立马充满干劲,往上蹬!

e94452f1c1b898dee81d389beb196762.jpg11c2d0926686da42ba97d16f43c0c5ef.jpg

392ed67f82ea5e860c689f7218cb0bec.jpg

7bfa6f9d8406121dd932e2fc8618c46a.jpg

836869ff22fe9bc0c27141cff23d1e5d.jpg

37a6e9e18689917568f873fc08e7e828.jpg

大小龙池景区,就是俩水潭:

image.png

image.png

06429eecf3d3258de5d320979a671a34.jpg

下坡也超级累,我们从上面下来的,连续十几个180°的弯,生怕自己没控制好速度飞出悬崖。今天上坡的人可又遭殃了,只能沿途给他们喊加油。

image.png

7.9 到达驿站

最后一天大约一百公里,从库如力骑到终点517驿站,这一路说是都是下坡,但视觉上还是微微上坡,但是呢,3*9 的配速又能蹬得动,很奇怪。今天这一路啊都是大卡车,一路上不带停的,吸了一路的尾气,路边都是洒落的小石子,大车从对面过的时候,还会带着一股风往后的风,都蹬不动,同方向来大车的时候,车子还会吸你一下(流速与压强),总之都非常吵闹,一路上还有点逆风。一路上我都在唉声叹气,诶,这条路太无趣了。这条路太阳还特别毒,没有任何遮挡物,晒死了。

今天的路上有个 天山大峡谷 景点,我们中午十一点多到的,由于时间比较充足,我们花了两小时去景点玩了下,四十块钱的门票,由于有电脑等贵重物品,我就背着包上去了,车子留在了售票点旁边。这条路有四公里,来会走完差不多就俩小时。这个大峡谷通体是红色的,从下往上看有的地方只能看到一个光缝,还是蛮有趣的。地上有水,一条小溪到处流,地上都是软趴趴的沙子。

MVIMG20230709120351.jpg

MVIMG20230709122014自定义.jpg

MVIMG20230709122319自定义.jpgMVIMG20230709123705自定义.jpg

image.png

垒个玛尼堆

image.pngimage.png

最后几公里骑到驿站是非常折磨的,还完车,拿了奖牌与证书后就返回了酒店。五点多到酒店的时候,发现下面有个集市,就像是老家的赶集,非常热闹。我们非常想去逛一逛,因为东西很多,价格也很便宜,迫不及待的就上去扔行李,洗澡。上去的时候我已经先偷偷买了个瓜,劈成两半,1.2元/公斤,十来块钱。由于没有勺子,我俩在舔西瓜,裴乐用杯子刮西瓜吃。。。主打一个迫不及待。

迅速洗完澡后,下去逛逛。下面大部分都是卖菜的,我们买了两个铁勺子共俩块钱,裴乐买了瓶蜂蜜,我们一起买了点干果,葡萄干,无花果,黑枸杞等等。都是三四十多一公斤,最贵的是无花果吧,60一公斤。最后怕西瓜不够吃,又买了个小的西瓜,两块钱,因为价格已经变成1块一公斤了,和勺子一个价钱了哈哈哈。这里的物价是真的太便宜了。因为买的东西有点多,裴乐准备发个快递先一起寄到南京,再转给我。

再晚点的时候,我们出来吃饭了,旁边有个美食城。我们挑了一个最热闹的进去,点了麻辣鸡、烤腰子、烤羊肉串、汤面。羊肉串上来的时候震惊了,非常大的一串,只要8元,而路上住的几个地方,这个量起码15元,而且烤的也非常美味。看菜单,羊肉什么都非常便宜,不像前几天,全是188元/公斤,这里只要100。感叹还是城市里面吃东西便宜啊。这顿饭下来最后就吃了150多块钱,非常便宜了。

MVIMG20230709220109自定义.jpg

MVIMG20230709221435自定义.jpg

MVIMG20230709221528.jpg

7.10 飞回上海

这一天就非常简单啦。九点出发, 把我们买的特产发了个顺丰到裴乐公司了,然后就是一路转机,坐飞机,到晚上十一点才到家。到家后,立马出去做了个按摩捏腿,到十二点才回去睡觉。晚安。

又是一年过去,到了写总结的时候了。去年没写,今年怎么说也要写写了。

简单说说前年吧,三月的时候想跳槽,拿到阿里美团offer,选择了美团,其实不是非常满意,月base涨幅没达到预期,算上加班时间,估计就平跳,在美团前三个月比较轻松,后来部门合并,到了一个非常卷的组,于是乎就很痛苦了,前年着实没什么好说的,没学到非常多东西,加班是常态,没有感情生活,非常难熬,博客也没有维护了。

于是乎,在去年一月份我又开始了新的一次跳槽,也非常渴望离开北京,前三个月在刷题,晚上加班回来也刷一两题(偷懒更多),三月份的时候开始投简历了,四月清明的时候美团也向社会输送了一波人才,我们组走了三个RD,其他大厂也陆陆续续都裁员了。那时感觉危机要来了,外面的人太多了,可能不太好找工作。不出所料到五六月份面试也不多,面了也挂了。那时候离职的一大动力是独库公路,一直想去这骑行,心心念念的,独库公路一年只开放几个月,从七月开始,所以我的时间也很紧迫。一直想在八月前找到满意工作,离职时候去那玩俩星期。

七月的时候拿到了黑湖的offer,但薪资谈崩了,没达到预期,最后想想算了,接了offer去骑车也挺快乐的,但拉扯的时候耽误了点时间,我答应的时候offer已经给其他候选人了,那一刻真的是非常难受了,时间不够了啊,我的骑车之旅要泡汤了。

但有时候找工作缘分就是这么奇妙,在v站上看了一家公司的招聘信息,觉得还行就投了,简历也顺利通过,一周内面试七次,过五关斩六将,下周一的时候收到了口头offer,周二谈薪,涨幅也远超预期,立刻接了offer,仅一周就收到一枚满意的offer。所以找工作真的真的非常需要缘分,哪怕五个月都没找到满意工作也不用着急,可能offer马上就到。

七月多的时候辞职离开了北京,买了独库的机票,可惜飞之前的前一晚上,伊利爆出疫情,这次骑行也鸽鸽了,在家呆了半个月后,在八月来到了上海。这半个月我在家干啥竟然完全一点印象都没了!!!那段时间我记得疫情蛮严重的,也不敢出去玩,三亚疫情滞留了很多人。(亏了半个月工资哈哈

我一直是幸运儿,来上海的时候躲掉了四月份的疫情,又躲过北京下半年的疫情,真好。不幸的是,十二月还是羊了,羊了两次,间隔一周很迷惑…

今年还有什么事?办了个健身卡,没坚持多久后,闭关了,退款了,也就没继续健身了。又去上笛子课了,花了小几千,感觉效果还行,但高音还是好难吹啊,只能吹一些简单曲子。买了个A7M4相机,准备发展下爱好,毕竟不会拍照的厨子不是好程序员。还给家里出了几万块,买了个车,导致今年没剩多少钱。

博客已经停更一年多了,需要反思,但没找到借口来狡辩原因…努力找题材写

去年三月份开始做了一个公众号,粉丝数量在不到一年的时间里达到了一万四,我觉得很满意了,也有问题,增长太平缓了,每天都是新增40-50人左右,要想十万粉,这要多少年啊,要想想办法。

去年依旧是单身的一年,之前聊的娜娜已经订婚了还是非常感慨,雀氏可惜,但也是没缘分吧,她现在的对象更适合她,而我只是个小小的北漂。今年okr就是找对象,找不到对象的原因一是社交太少,二是不知道自己想要找一个什么样的人。

关于今年的结余,买了相机,买了ipad+耳机,买了茅台与五粮液,开销很大,总共结余NTB3OWs=,比去年加了12w左右,一般吧。

这篇文章有些内心话,不想让所有人看见,免得被说矫情,于是采取了某种常见的对称加密算法,秘钥为农历生日 (xx月初yy)

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

相比于发布到中央仓库,其实有更简单的方法,如 Jitpack,无需域名认证、GPG签名,只需有代码仓库就可,约10分钟就可以完成接入。但本文的重点还是推送至中央仓库。

一、注册Sonatype账号申请创建项目

首先前往 Sonatype 提 issues 来创建一个项目(比较原始),没有账号的先行注册。

创建项目即是创建一个新的 groupId,提交完 issue 后,会有一个经办人要求你在域名下添加一个 TXT 记录,从而验证该域名属于你,添加完后,将 issue 重新打开,经办人验证通过后,这一步就告一段落。

对于很多小项目,不会有特定域的,也支持使用一些托管服务,如 Github,详情见 https://central.sonatype.org/publish/requirements/coordinates/

image.png

添加记录

二、生成 GPG

此步骤用于生成对上传的文件进行签名的秘钥对。

此步骤也按文档操作: https://central.sonatype.org/publish/requirements/gpg/

根据系统,选择合适的安装包,安装 Gnupg Download

执行 gpg --gen-key,按照指引,输入名称、邮箱、密码等信息生成一个key。

查看所生成的 key

1
2
3
4
5
6
7
$ gpg --list-keys
/home/mylocaluser/.gnupg/pubring.kbx
---------------------------------
pub rsa3072 2021-06-23 [SC] [expires: 2023-06-23]
CA925CD6C9E8D064FF05B4728190C4130ABA0F98
uid [ultimate] Central Repo Test <central@example.com>
sub rsa3072 2021-06-23 [E] [expires: 2023-06-23]

向服务器分发我们的公钥

1
gpg --keyserver keyserver.ubuntu.com --send-keys CA925CD6C9E8D064FF05B4728190C4130ABA0F98

最后导出私钥到文件中

1
gpg --export-secret-key CA925CD6C9E8D064FF05B4728190C4130ABA0F98  > secret.gpg

至此第二步完成

三、配置 Gradle 推送至仓库

此时已经可以准备推送了,还需配置下 gradle。

我使用 Kotlin 编写 gradle,即 build.gradle.kts 文件。

这里请不要参考 sonatype 的配置或其他博客,因为 gradle 版本千差各异,写法都略有去呗,仅参对应版本的考官方文档,我使用的为 Gradle7.2

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
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile

plugins {
id("maven-publish")
id("signing")
// ...
}


group = "net.peihuan"
version = "0.0.2-SNAPSHOT"
java.sourceCompatibility = JavaVersion.VERSION_1_8

repositories {
mavenCentral()
}


dependencies {
// ...
}

tasks.withType<KotlinCompile> {
kotlinOptions {
freeCompilerArgs = listOf("-Xjsr305=strict")
jvmTarget = "1.8"
}
}

tasks.withType<Test> {
useJUnitPlatform()
}

// 去除 jar plain 后缀
tasks.getByName<Jar>("jar") {
enabled = true
archiveClassifier.set("")
}

java {
withSourcesJar()
withJavadocJar()
}


publishing {
publications {
create<MavenPublication>("mavenJava") {
artifactId = "baidu-pan-starter"
from(components["java"])
versionMapping {
usage("java-api") {
fromResolutionOf("runtimeClasspath")
}
usage("java-runtime") {
fromResolutionResult()
}
}
pom {
name.set("peihuanhuan/baidu-pan-starter")
description.set("百度云盘 Java SDK")
url.set("https://github.com/peihuanhuan/baidu-pan-starter")
licenses {
license {
name.set("The Apache License, Version 2.0")
url.set("http://www.apache.org/licenses/LICENSE-2.0.txt")
}
}

developers {
developer {
id.set("peihuan")
name.set("peihuan")
email.set("1678167835@qq.com")
}
}
scm {
connection.set("scm:git://github.com/peihuanhuan/baidu-pan-starter.git")
developerConnection.set("scm:git://github.com/peihuanhuan/baidu-pan-starter.git")
url.set("git://github.com/peihuanhuan/baidu-pan-starter.git")
}
}
}
}
repositories {
maven {
val releasesRepoUrl = "https://s01.oss.sonatype.org/service/local/staging/deploy/maven2/"
val snapshotsRepoUrl = "https://s01.oss.sonatype.org/content/repositories/snapshots/"
url = uri(if (version.toString().endsWith("SNAPSHOT")) snapshotsRepoUrl else releasesRepoUrl)

credentials {
username = findProperty("ossrhUsername").toString()
password = findProperty("ossrhPassword").toString()
}
}
}
}

signing {
sign(publishing.publications["mavenJava"])
}

最后需要在 ~/.gradle/gradle.properties 文件中配置 gpg 秘钥以及第一步注册 sonatype 时的用户名、密码,不存在文件就新建。

1
2
3
4
5
6
7
ossrhUsername=xxxxxx 
ossrhPassword=xxxxxxx

# 公钥ID的后80B372361CC1A9AE2452D43FDE8A99FE282B70849
signing.keyId=284F61AF
signing.password=xxxxxxxxxxx
signing.secretKeyRingFile=/your/path/secret.gpg

这里也可以不直接使用用户和密码,建议使用 accessToken 发布,依旧使用一开始创建的用户名、密码来登录 https://s01.oss.sonatype.org ,授权后将获得一组新的用户名密码。

image.png

一切已准备就绪,执行 gradle 中的 publish 方法

image.png

四、发布到中央仓库

如果上一步发布过了一个正式包,那么将在 sonatype 中看见:

image.png

选择该仓库后,先 Close,再 Release 发布,大功告成。

不久后你就会收到邮件:

Central sync is activated for net.peihuan. After you successfully release, your component will be available to the public on Central https://repo1.maven.org/maven2/, typically within 30 minutes, though updates to https://search.maven.org can take up to four hours.

30分钟后能同步到中央仓库,4小时才能被搜索到,耐心等待。

参考文档:

https://central.sonatype.org/publish/requirements/gpg/

https://docs.gradle.org/current/userguide/publishing_maven.html

https://help.sonatype.com/repomanager2/configuration/security-setup-with-user-tokens

过年在家,研究下家里的网络,觉得不合理,需要改善,现状如下:

家里有三层楼,二楼放了猫和一个路由器,一楼和三楼各一个路由器。一共产生了三个网络,对应了三个不同的 WiFi 名称,密码一致。

这样产生了问题,在三楼的时候,连的三楼 WiFi,到二楼的时候可能还在连三楼 WiFi,虽然信号很弱,但手机不会自动切换到二楼 WiFi。

改造前.svg

经过搜索,发现了两种方案,一是 MESH 无线组网,二是 AC + AP。第一种方案并不适合我家户型,楼层较多,节点间无线传输衰减严重,适合一两居的,组三个结点构成三角形是最稳定的,不适合大面积的无线覆盖。

大户型则适合 AC + AP,由一个 AC(接入控制器)和若干个 AP(无线接入点)组成,此方案需要网线全部打通,要拉网线,这也是最方便我家改造的一个方案。(还有一些其他方案,如 WDS 无线桥接)

主要结构如下:

  1. 性能较好的路由器充当主路由器 (AC)
  2. 其余的与主路由器相连充当副路由器(AP)

很多官网都有将路由器改造为无线 AP 的具体操作过程:

但各路由器流程应基本一致,具体实施如下:

  1. 主路由器的配置不需要改动,需要修改所有副路由器。
  2. 重置副路由器,只需将其与电脑直接相连,以便登录路由器管理网页
    1. 修改WiFi名称、密码与主路由器相连(有的教程需要你修改 SSID 与主路由器相同,我的都没有这个配置,并未修改,也可以的)
    2. 关闭 DHCP 功能
    3. 修改 LAN 口 IP 地址 ,很多博客会有这步,但自动获取即可,不做修改。
  3. 将主路由器(或交换机)的 LAN 扣与 副路由器的 LAN 口相连。(不是副路由器的 WAN 口了!
  4. 将所有副路由器按 2、3步骤操作即可。

调整后结构如下:

改造后.svg

(又又又N久没有更新了,罪过罪过,但工作确实忙,加班了几个月到十点十一点,顶不住呀【借口】。前段时间呢,也一直在尝试整一个公众号)

灵感

作为一个B站深度用户,在刷音乐区、笛子区的时候,发现很多稿件下面都有求音频的评论,不在少数,于是便有了这个 idea。

<span style="color:#ee3f4d"> 欢迎大家来体验提出更多好的建议,作品地址(需微信内打开): BiliBili音频提取

设计方案

调研了一些现状,发现B站的大部分音视频是分离的,DASH格式,那就非常简单。 下面给出核心过程:
流程图.png

难点:
关于存储,一开始使用的对象存储,对于多个音频文件,打包成zip后再上传,这没有什么难度,但推广后,存储一天最高增量 8GB,流量十天就打到了 50 G,后期会有较大的成本,于是就有替换存储的想法。

调研了一些情况,决定使用阿里云盘,下载不限速,挺好。摸透接口后,一跑发现阿里云盘不支持 mp3 文件的分享??? 阿里云盘这是有什么大病?mp4都能分享,mp3不是更简单么?

image.png

那没办法,咱只能继续想办法,看到网上也有一些破解的工具:将文件拖到某个软件中,伪装成可以分享的文件,再上传,但下载后还需要再使用该软件解除伪装才能正常打开。。。。

这也太蠢了不是,用户成本太高

思考了一会,阿里云盘凭什么认为这个文件是 mp3 或 mp4 呢,查看接口,发现了两个字段,mime_typemime_extension,可以判定文件真实类型

image.png

那问题也差不多有解了,直接在文件最前面追加一个新的魔数,在这里我使用了图片的魔数 FFD8FF,而后面的 494433 则是 mp3 格式原本的魔数,从而打到了欺骗阿里云盘的目的。

image.png

再次上传到 阿里云盘,已被识别为 jpeg 格式,可以分享,目标达成。
image.png

一人血书希望阿里云盘能尽快官方支持 mp3 文件的分享

推广

秉着没人用的产品不是好产品,开始了推广之路。

一开始重点关注音乐区,在好听的曲子下面留下我有音频的评论,等待别人私聊,这种方法真的看运气,有的视频无人问津,而有一个则爆了,被二十号人私聊。但这种办法成本较高,且需要我持续的宣传。

再后来,做了一个该工具的使用视频,投放到 B 站,10天内达到 3k 播放量, 150 收藏,目前每天都有几百的佛系导出,是个稳定的路子,总数已将近3w。

image.png

背景

在推广公众号的过程,需要投放信息流,考虑之后,最后选择了贴吧。曾经总觉得贴吧已经跨了,里面很垃圾,充斥着广告,已经没有市场了。但数据表明,贴吧仍然是流量非常大的一块地方,且非常适合小白,能够精准引流,私以为,是最精准的。

怎么顶帖?

在写完文案后发布后,剩下最终要的一件事就是顶帖了,如果不顶贴一会就会沉下去了。

1. Selenium

使用此方案应该是最稳定的,也是最真实的操作。但是没有解决登录的问题,已经设置 cookie,但提示重定向失败次数过多,请尝试清除 cookie,尝试若干解决方案后无果。

后续已找到原因并实现了该方案,见下文

2. 破解 API

这个方案也花了很多精力
回帖中有两个非常关键的参数,tbsbsktbs可以理解为贴吧的通行口令,所以接口都需要使用,可以通过接口获得 http://tieba.baidu.com/dc/common/tbs 获得,其实也可以复用之前的tbs,而 bsk 则属于加密秘钥,有一篇解析 Analyze_baidu_BSK,该作者也提供了工具进行计算 bskhttps://www.baidubsk.site/

最终结果是可以回帖,但回帖会被系统秒删,并没有找到解决办法。

参考 [原创开发] 贴吧顶帖机-开发日志

3. 第三方工具

经过一些搜索,找到一些第三方工具,如夜祭,使用方式详看官网中的教程,需充值,每次回帖 1 厘钱。

恋魂,也是个常见工具,待测试。

一些发帖建议

  1. 发帖账号与顶帖账号需要分离,发帖使用自己账号,顶帖小号购买,QQ群搜索即可,小号较容易被封,但被封不会影响帖子。
  2. 小号回帖不要回一楼,这会导致产生大量楼,删除麻烦。小号回复自己的楼层,删除时只需删除被回复楼层即可删除大量回帖。
  3. 主题贴内容不要出现任何二维码,虽然可以发布成功,不会被删帖,但你无法在贴吧中刷到该帖子。需要放置二维码或其他引流,放在二楼。
  4. 主题帖不能有太敏感的东西,如上一点提到的二维码,还包括一些关键字,如微信、分享等,引流文案全部放在二楼。这样即使被删,也只损失一层楼,而不是整个帖子(主题帖下面可能有其他真是用户的评论)
  5. 不建议网页发帖,经常刷不到发布的帖子。

2021.11.22 更新

不再使用第三方工具,使用Selenium

最近一段时间,顶贴号死得非常快,半天就死了,无论是多贵的账号。思考了一下,原因大概是被重点风控了:如果某个帖子下面死过账号则该帖子会被风控重点关注。但帖子较多,内容还有图片,通过脚本发帖比较麻烦,暂时没查询过方案。

这时候已经不太能承受顶帖小号的费用了,一个小号大约3元,只能活半天,有点贵,更重要的是不稳定。于是又开始寻找 Selenium 之前无法成功的原因。

经过一些原因的查询,最终找到之前失败的原因:刷新网页时候带的 Cookie 不对,用成了调用回贴接口的 Cookie,替换了 Cookie 能正常回帖了。

当天用自己一个小号测试,但由于过于发送过于频繁,60s 一次回帖,回复了几百次后,被封。 不是直接封,先是秒删小号的回复,继续发一段时间后,账号最终封禁。

Selenium 模拟用户操作,并没有想象中的那么稳定。

0%