长者永垂不朽!

他改变了中国! “苟利国家生死以,岂因祸福避趋之。” “军队一律不得经商。” “我们党要始终代表中国先进生产力的发展方向,我们党要始终代表中国先进文化的前进方向,我们党要始终代表中国最广大人民的根本利益。” “不要听风就是雨。” “要始终提高知识水平。” “Too young too simple, sometimes naive” 长者永垂不朽。 告全党全军全国各族人民书

November 30, 2022 · 1 min · wuqiangroy

从中缀表达式到逆波兰表达式

之前在字节面试的时候,面试官给我出了一道算法题:给定一个用字符串表示的算式,算式中只有+, -, *, /,请计算出最终结果。 比如 2+3*4-2/2。 很明显,如果没有 * 和 / ,那我们直接一个循环处理即可,但是有了 * 和 /,算式就有了优先级,我们需要先计算优先级高的,在计算优先级低的。 面试官提醒我可以使用栈来处理,我才恍然大悟,然后迅速用代码实现。 面试结束后,我就去细了解了一下这类问题的做法,这种字符串公式的表达叫做:中缀表达式,与之类似的还有前缀表达式和后缀表达式,前缀表达式和后缀表达式又被叫做波兰表达式和逆波兰表达式。 中缀表达式 其实很多读者在数据结构这一门课上,就已经学过中缀表达式了,但是对于我这个非科班的来说,第一次接触还是非常新鲜的,对于学过的朋友权当复习了。 使用栈这种数据结构,可以很好的处理仅有加减乘除四种运算符(不含括号)的公式。 栈是一种先入后出(FILO)的数据结构,可以将数据入栈和出栈,入栈数据会在栈顶,出栈是将栈顶的数据取出。 对 2+3*4-2/2 表达式来说,我们将数字压入栈,如果遇到 * 和 / 这两个优先级高的操作,我们将栈中的数据出栈,和操作符后面的数据进行 * 和 / 操作之后,将结果入栈,遇到 + 则不做操作,遇到 - 则对后一个数据进行取负,将数据压入栈即可。 就对 2+3*4-2/2 举例子: 1 2 3 4 5 6 7 8 9 10 轮询到第一个数字 2 压入栈中,当前栈 [2] 操作符 +, 抛弃 数字 3 压入栈,当前栈:[2, 3] 操作符 *,将栈顶取出一个值 3,当前栈 [2] 将下一个数字 4 和刚刚取出的值 3 做 * 操作得到 12,压入栈,目前栈:[2, 12] 操作符 -, 对下一个数取负 数字 2,取负后压入栈,目前栈 [2, 12, -2] 操作符 /, 取出栈顶值 -2,目前栈 [2, 12] 将下一个数字 2 和刚刚取出的值 -2 做 / 操作得到 1,压入栈,目前栈 [2, 12, -1] 最后对栈里的数据进行相加,得到 2+12-1 = 13 13 即是最终值。 因为 golang 中没有现成的栈 api,我们需要用队列来手动实现一个。 实现代码如下:...

November 30, 2022 · 6 min · wuqiangroy

吐槽一下华为的运动健康软件

今年上半年,华为推出了一款智能手表,huawei watch GT3 pro, 我被其精致的外观吸引,于是迫不及待的入手了一款。 虽然我使用的是 iPhone,理应选择同一家的 Apple watch,但是由于 s7 在我老婆那边糟糕的表现(睡眠监控一塌糊涂,每天都需要充电,麦克风时好时坏-已经去 genus bar 更换了一块),我没有选择它。 首先看看这块表的外观,到现在我都非常喜欢它: 使用起来我也非常的满意,无论是一次充电的使用时长-可以坚持 1-2 周,还是消息的通知延迟上面,亦或者通话接听等,我都觉得其满足我的需求,硬要说不满意,那就是 iPhone 上不能直接回复微信?或者说软件商店里面手表可用软件实在太少,近乎于没有。 但是对于我来说,一块表的功能就是及时通知和外观,所以上面的缺点我一点都不在乎。 真正让我难以接受的,其实是它的软件:华为运动健康。 如果你直接以华为运动健康作为关键词 google 的话,会出现相当多的软文,都是在吹嘘其好用、运动检测多准之类的,但是却忽略了体验。 软件莫名其妙的大 虽然现在手机的容量都是 128G 起,甚至 256G 起,但是这不是软件就能无限制做大的理由,一个运动软件,无论是 OPPO 的运动软件还是 vivo 的运动软件,充其量 100M 出头(OPPO 139M, vivo 104M),但是华为的健康应用,居然有 500M!!!我都不知道它到底在里面塞了些什么! UI 不精致不简约 现代软件,无论是追求拟物还是扁平化设计,开发者(产品经理?)都对界面的要求相当高的,这点我在各家的健康 app 上面都能看到,但是到了华为这里,很糟糕,你可以说我欣赏能力低下,但是对于我来说,UI 设计糟糕很劝退。 广告极其之多 不知道是不是 huawei 被制裁了还是怎么样,其运动健康软件广告非常多,这也是我最难以忍受的一点。 开屏广告 会员续费通知 主页中间有一个去不掉的饮食日记和健身课程的一个 bar 运动页各种课程推荐 设备页最离谱,这里面塞了一个商城进去! 反正这个软件让我极其恶心,等哪天受不了了,我应该就会放弃这个表,放弃 huawei 的设备。 最近 Apple 出了个 Apple watch ultra,拥有两天的待机时间,看上去还不错,我再多关注关注。 题外话:我在诸多论坛、微博看到网友对现在软件公告的吐槽,现在的开屏摇一摇跳转广告、倾斜跳转广告、视频软件的 VIP 专属广告、banner 广告、音乐软件中间夹杂的音频广告……数不胜数。...

November 29, 2022 · 1 min · wuqiangroy

使用 Hugo 搭建自己的博客

前些年的时候,我在腾讯云上面购买了一个云服务器,一个域名,然后自己用 python 写了一个博客后端。 使用 Nginx 作为正向代理,就这样搭建了我第一个博客。 这个博客内容还挺多,评论、文章、用户系统、富文本编辑框等等,一一俱全。 后来自己对博客的维护比较少,出现了一些 bug 我也难得修复了,等到服务器到期,我就难得续费了。 后来在网上看到很多博客都非常精美,有的用 wordpress 搭建的,有的用 hugo 搭建的,结合我自己的场景,我决定使用 hugo + github 来创建自己的博客。 安装 golang hugo 使用 golang 写的,要使用 hugo,需要先安装 golang。安装教程 安装 hugo macOS 下 hugo 的安装方法: brew instal hugo 其他平台参考官方文档:hugo installation 创建一个博客 使用 hugo 命令:hugo new site blog 在当前地址创建一个 blog 文件。 里面的布局如下: - archetypes - content - data - layout - public - resource - static - themes config.toml 其中,config.toml 是我们的配置文件,我们主要的修改都在这个配置文件里面。 使用主题 原生的 hugo 博客并不好看,好在官方及各路大神提供了不少主题,我们直接可以使用,我很喜欢 even 主题,所以我使用 even 来说明。...

November 28, 2022 · 2 min · wuqiangroy

我的 RSS 资源

受够了各种网络信息流的推荐,为了避免信息茧房的产生,我决定放弃一些社交网站,重拾回 RSS. 软件分享 由于我的工具都是 Apple 家的,所以我的订阅软件都是在 macOS 和 iOS 下的。 这两个平台的阅读软件,没有其他,最好的只有 reeder。 reeder 在 macOS 上好解决一些,无论是安装盗版还是直接在 App Store 购买,都非常方便。 在 iOS 上面比较复杂,由于该软件在国区下架了,所以需要去外区下载,建议先 google 如何创建外区账号,创建外区账号之后,再到淘宝购买兑换码。 其他的软件比如 unread 和 inoreader,我都是不太推荐的,无论是软件体积、软件流畅度还是交互逻辑,reeder 都秒杀他们。 更重要的,只要你的订阅数据同步到 iCloud,那么你在 macOS 和 iOS 上的阅读进度和订阅数据都将同步,方便你在两个平台无感切换。 订阅源 其实 RSS 也是一种信息茧房,因为各种订阅源都是你自己选择了的嘛,所以你也是活在自己想看到的世界里。 为了避免这种情况的产生,我也硬着头皮订阅了一些观点我不太认可的信息源,但是不可否认的是,兼听则明。大家的思维已经在十来岁时固定,现在的一些信息要是能改变一个人的思维,只能证明这个人要么思维过于简单,要么太过幼稚。 下面是一些我推荐的订阅源,我会附以简单的说明,但是不会输出我个人的观点。 我知道有个项目叫做 rsshub,这里面的订阅源很全,读者朋友也可以直接到这里面进行查找自己喜欢的数据订阅。 但是对于我来说,由于这个地址被墙了,我又不愿意在手机上常开 VPN,所以我就拒绝这里面的订阅,寻找了其他的订阅源。 我订阅数据的原则有: 官方网站能提供的订阅,优先官方 不能订阅原文或通过 reeder 无法查看全文的数据不订阅。 不订阅反党反共的私人博客。 序号 名称 订阅地址 订阅说明 1 9to5Mac https://plink.anyfeeder.com/9to5mac Apple 相关的一些新闻 2 BBC 英语教学 https://plink.anyfeeder.com/bbc/learningenglish BBC 学习英语相关的订阅 3 FindBlog https://rss.huhexian.cn/i/?a=rss&rid=63837d83e772a&hours=168 一个 blog 的聚合网站,订阅了该数据源,可以少订阅很多个人博客 4 IT 之家 https://www....

November 27, 2022 · 1 min · wuqiangroy

我的减肥之路

今年五月份的时候,许久不见的兄弟在群里发了一张称体重的照片,70kg。 我震惊了,作为体重长期在 80kg 徘徊的哥们,瘦了!!! 我难以置信。 我从大学一毕业,体重就从 130 哐哐哐的往上涨,一直到巅峰时期 160 斤。去年体检的时候,重度脂肪肝、肥胖、甘油酸酯偏高、尿酸偏高各种症状一一俱全,那时候调侃自己:几百块钱,别人几项,我十几项,划算啊! 兄弟这个 70kg,彻底刺激了我,也激发了我减肥的欲望。 从大学毕业到现在,也有了 6 年时光。 本来就只有 170cm 的我,挺个大肚子,脸上肥肥的,照镜子里面我都难以接受我自己。 6 年来,期间也进行了无数次的减肥,但都没有坚持下去,没次减个几斤,就因为各种原因放弃,然后体重不仅涨回去,还超过之前的巅峰,160 斤也就这么慢慢吃出来了。 这次下定恒心要减下去,一来是有了个目标在前面,二来我觉得我也应该做出改变,免得之后参加家长会,被笑话,我可不愿意成为我女儿的爸爸是同学之间的笑柄。 我知道减肥最简单的方式就是:摄入 < 摄出。 由于当前我的体重过大,不能参加跑步等有氧运动(大体重跑步对膝盖伤害实在太大了),所以跑步是不行了。幸亏我自己游泳还不错,游泳纳入了我的运动计划。 同时我还购入了 switch(我真不是为了玩游戏)和健身环,备受好评的健身环,希望能为我减肥助力。 同时我还制定了严格的饮食方案。 饮食方案 看了多个抖音减肥博主的理论,大多都是减肥 3 分靠动,7 分靠吃。 所以我严格控制了我的饮食,我和兄弟勾兑了一下他的减肥方案,很简单: 早上、中午随意吃,晚上两根玉米,一个鸡蛋,或者晚上两个鸡蛋,一根玉米 于是我参考了他的方案,不过我加以了修改,做出了一下决定: 早餐:鸡蛋、牛奶、半个馒头(约 50g) 午餐:公司食堂,米饭是之前的一半 晚餐:一根玉米和一个鸡蛋、两个黄瓜、一个红薯 严格遵守以上饮食计划的同时,戒掉饮料、戒掉零食、戒掉糕点。 然后每周一次游泳池游泳,每次约 2km,消耗卡路里约:700 大卡。 这样我坚持了两个月,成功将体重降到了 72.5kg 两个月,瘦了 15 斤,平均每个月瘦 7 斤,我相当满意。 这时候,我发现我只靠饮食已经瘦不下去,我需要一定量的运动进行辅助,现在体重降下来了,我觉得我可以进行跑步了。 有氧运动 我将跑步纳入我的减肥计划的时候,晚餐也逐渐恢复了。 由于两个多月以来的少量饮食,我的胃已经成功缩小了,这时候我觉得晚餐我不能一直黄瓜玉米,于是我渐渐的恢复了正常饮食,米饭一般 150-200g,菜的话正常家常菜,没有特意的多吃蔬菜或少吃肉类。 不得不说,跑步真的是一件非常痛快的事,前 3km,不停的思考为啥我要选择如此自虐的运动,后面的路程就是一路的畅快,跑完步了,简直比高潮还要爽。 跑步期间,我思考了很多事情,包括我未来的职业规划,以及我的工作计划等等。 除了刚开始跑需要更多耐心来提升耐心和跑步伤膝盖之外,跑步真的是一件完美的运动。 9 月成都因为疫情,封城了几天,这几天,我基本上个一天跑一个 10km。 于是,到 11 月份,我这几个月的跑步情况如下: 7 月:41.33km 8 月:77....

November 27, 2022 · 1 min · wuqiangroy